我无法将posix_time::ptime
转换为time_t
或posix_time::milliseconds
所代表的时间戳,或任何其他可以轻松打印的适当类型(来自Epoch)。
我实际上只需要以毫秒为单位打印由posix_time::ptime
表示的时间戳,因此如果有一种简单的方式以该格式打印,我实际上并不需要转换。
答案 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";
}