2010-10-27 63 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()); 
相關問題