C ++:提升当地时间仅落后一小时

时间:2010-11-16 12:48:54

标签: 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以获取系统日期时间。

提前致谢。

2 个答案:

答案 0 :(得分:2)

boost :: local_time :: time_zone_ptr zone_GMT1(new boost :: local_time :: posix_time_zone(“GMT + 1”));

boost :: local_time :: local_date_time t =     升压:: LOCAL_TIME :: local_sec_clock :: LOCAL_TIME(zone_GMT1);

我发现使用了timeZone。

它适用于我

谢谢!

答案 1 :(得分:0)

也许您必须通过将其他参数设置为true(DST标志)来启用夏令时计算,请参阅http://www.boost.org/doc/libs/1_38_0/doc/html/date_time/local_time.html#id3051627