提升:如何从Epoch打印/转换posix_time :: ptime(以毫秒为单位)?

时间:2011-04-09 19:47:46

标签: boost time posix epoch milliseconds

我无法将posix_time::ptime转换为time_tposix_time::milliseconds所代表的时间戳,或任何其他可以轻松打印的适当类型(来自Epoch)。

我实际上只需要以毫秒为单位打印由posix_time::ptime表示的时间戳,因此如果有一种简单的方式以该格式打印,我实际上并不需要转换。

1 个答案:

答案 0 :(得分:2)

此代码将打印自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";
  }