2010-11-16 45 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);

我发现使用时区。

它适用于我

谢谢!