我试着使用boost/计时器...使用boost::chrono::high_resolution_clock::now().time_since_epoch()
我无法获取当前系统时间,而是获取了清华Jan 01 09:53:53 1970...但是使用std::chrono,我能够获得正确的系统时间。
如何使用与std::chrono相同的boost/chrono来获取当前系统时间?
发布于 2015-04-12 21:20:26
要获取系统时间,请使用system_clock而不是high_resolution_clock。
无论是在Boost中还是在标准库中,都不能保证high_resolution_clock将使用与系统时钟相同的纪元。
发布于 2015-04-12 22:36:57
使用简单的数学
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);更多示例:
https://stackoverflow.com/questions/29589764
复制相似问题