Boost:如何从Epoch开始以毫秒为单位打印/转换posix_time::ptime?
我无法将Boost:如何从Epoch开始以毫秒为单位打印/转换posix_time::ptime?,boost,time,posix,epoch,milliseconds,Boost,Time,Posix,Epoch,Milliseconds,我无法将posix\u time::ptime转换为time\u t或posix\u time::ms表示的时间戳,或任何其他易于打印的适当类型(从历元) 实际上,我只需要以毫秒为单位打印由posix_time::ptime表示的时间戳,因此,如果有一种简单的方法以这种格式打印,我实际上不需要转换。此代码将打印自1941-12-07T00:00:00以来的毫秒数。显然,你可以选择任何适合你需要的时代 void print_ptime_in_ms_from_epoch(const boost::p
posix\u time::ptime
转换为time\u t
或posix\u time::ms
表示的时间戳,或任何其他易于打印的适当类型(从历元)
实际上,我只需要以毫秒为单位打印由posix_time::ptime表示的时间戳,因此,如果有一种简单的方法以这种格式打印,我实际上不需要转换。此代码将打印自1941-12-07T00:00:00以来的毫秒数。显然,你可以选择任何适合你需要的时代
void print_ptime_in_ms_from_epoch(const boost::posix_time::ptime& pt)
{
using boost::posix_time::ptime;
using namespace boost::gregorian;
std::cout << (pt-ptime(date(1941, Dec, 7))).total_milliseconds() << "\n";
}
void print_ptime_in_ms_from_epoch(const boost::posix_time::ptime&pt)
{
使用boost::posix_time::ptime;
使用名称空间boost::gregorian;
std::此处值得注意的是,在pt中找到的时区偏移信息将影响结果。例如,如果pt是用microsec_clock::universal_time()抓取的,您将得到与使用microsec_clock::local_time()不同的答案。