2010-11-16 24 views
0

我住在荷蘭的一個小時,當我運行這段代碼:C++:提升本地時間落後

boost::local_time::local_date_time t = boost::local_time::local_sec_clock::local_time(boost::local_time::time_zone_ptr()); 

std::cout << "\nDate Time: " << t.to_string() ; 

「日期時間」返回是一個小時之後。這是UTC,但對於我當前的系統日期時間,它應該是GMT + 1或UTC + 1!

我應該更改boost :: local_time以獲取系統日期時間。

在此先感謝。

+0

如果您想要當前的系統時間,請使用posix_time,而不是local_time。請參閱http://stackoverflow.com/questions/2612938/simplest-way-to-get-current-time-in-current-timezone-using-boostdate-time和http://stackoverflow.com/questions/2492775/get - 本地時間 - 與升壓/ 2493977。 – 2010-11-16 14:10:49

回答

2

的boost :: LOCAL_TIME :: time_zone_ptr zone_GMT1(新的boost :: LOCAL_TIME ::的posix_time_zone( 「GMT + 1」));

boost :: local_time :: local_date_time t = boost :: local_time :: local_sec_clock :: local_time(zone_GMT1);

我發現使用時區。

它適用於我

謝謝!