我尝试使用boost / chrono ....
使用boost :: chrono :: high_resolution_clock :: now()。time_since_epoch()
我无法获得当前的系统时间,而是获得Thu Jan 01 09:53:53 1970 ...但是使用std :: chrono我能够获得正确的系统时间。
如何使用与std :: chrono相同的boost / chrono获取当前系统时间?
答案 0 :(得分:0)
要获得系统时间,请使用system_clock
而不是high_resolution_clock
。
在Boost或标准库中,无法保证high_resolution_clock
将使用与系统时钟相同的纪元。
答案 1 :(得分:0)
使用简单的数学
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);
更多样本: