2010-10-27 68 views
1

为什么RWTime是给1小时多RWTime显示的是本地时间+ 1

#include <rw/rwtime.h> 
#include <rw/rwdate.h> 
#include <rw/rstream.h> 

main(){ 
RWTime t; // Current time 
RWTime d(RWTime::beginDST(1990, RWZone::local())); 
    cout << "Current time:   " << RWDate(t) << " " << t << 
      endl; 
    cout << "Start of DST, 1990: " << RWDate(d) << " " << d << 
      endl; 
} 

上面的程序打印:

[email protected]:/home/nmsadm/sapna/cProgS# ./a.out
Current time: 10/27/10 10/27/10 17:08:06
Start of DST, 1990: 04/01/90 04/01/90 03:00:00

date给出:

[email protected]:/home/nmsadm/sapna/cProgS# date
Wed Oct 27 16:08:10 IST 2010

+0

我添加了一个“流氓波”的标签 - 它可能会帮助别人熟悉的图书馆找你的问题。 – Doug 2010-10-27 11:17:19

回答

1

我第六感是刺痛,它te让我知道答案与夏令时有关......我不知道为什么,但...

+0

我认为这是一个非常好的猜测 - 如果IST是印度标准时间,那么显然没有夏令时,而且看起来Rogue Wave图书馆正在应用夏令时调整。 – Doug 2010-10-27 11:10:47

0

默认情况下,RWZone::local()将返回一个基于北美DST转换的RWZone实现。 RWZone::os()提供了从当前系统时区派生的基于RWZone实现的DST转换。 RWZone::local()可以使用更新使用RWZone::os()

RWZone::local(&RWZone::os()); 
相关问题