c++ Boost:以毫秒计算时间

C++ Boost: Get time with milliseconds

本文关键字:计算 时间 Boost c++      更新时间:2023-10-16

目前我通过以下方式获取日期和时间:

 std::string isoString = boost::posix_time::to_iso_string(boost::posix_time::second_clock::universal_time());
 std::string date = isoString.substr(0,8);
 std::string time = isoString.substr(9,16); 

问题:毫秒丢失,我需要这个信息。如何获得以毫秒为单位的时间?

您可以使用boost::posix_time::microsec_clock:

 std::string isoString = boost::posix_time::to_iso_string(boost::posix_time::microsec_clock::universal_time());
 std::string date = isoString.substr(0,8);
 std::string time = isoString.substr(9,20); 

您应该使用boost::posix_time::microsec_clock

为什么不使用c++ 11呢?

long long timestamp()
{
    return chrono::duration_cast<chrono::milliseconds>(chrono::system_clock::now().time_since_epoch()).count();
}