首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows中的C++ boost::chrono vs std:chrono自纪元(获取当前系统时间)以来的时间

问windows中的C++ boost::chrono vs std:chrono自纪元(获取当前系统时间)以来的时间
EN

Stack Overflow用户
提问于 2015-04-12 21:03:06
回答 2查看 1.6K关注 0票数 0

我试着使用boost/计时器...使用boost::chrono::high_resolution_clock::now().time_since_epoch()

我无法获取当前系统时间,而是获取了清华Jan 01 09:53:53 1970...但是使用std::chrono,我能够获得正确的系统时间。

如何使用与std::chrono相同的boost/chrono来获取当前系统时间?

EN

回答 2

Stack Overflow用户

发布于 2015-04-12 21:20:26

要获取系统时间,请使用system_clock而不是high_resolution_clock。

无论是在Boost中还是在标准库中,都不能保证high_resolution_clock将使用与系统时钟相同的纪元。

票数 0
EN

Stack Overflow用户

发布于 2015-04-12 22:36:57

使用简单的数学

代码语言:javascript
复制
boost::posix_time::ptime const time_epoch(boost::gregorian::date(1970, 1, 1));

auto ms = (boost::posix_time::microsec_clock::local_time() - time_epoch).total_microseconds();
std::cout << "microseconds: " << ms << "\n";

boost::posix_time::ptime now = time_epoch + boost::posix_time::microseconds(ms);
std::cout << boost::posix_time::to_iso_string(now);

更多示例:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29589764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档