当我运行此代码时,我住在荷兰:
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 :(得分: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