【发布时间】:2017-06-28 22:35:07
【问题描述】:
我有一个uint64_t 值,它表示自纪元以来的纳秒。现在我需要将其转换为time_point。
目前我有这个代码:
std::chrono::time_point<std::chrono::nanoseconds> uptime(std::chrono::nanoseconds(deviceUptime));
稍后我想打印类似Fri Feb 10 15:13:04 2017 的内容。为此,我想使用以下代码:
std::time_t t = std::chrono::system_clock::to_time_t(uptime);
std::cout << "Device time: " << std::ctime(&t) << std::endl;
但我得到一个错误:
No viable conversion from 'time_point<std::chrono::nanoseconds>' to 'const time_point<std::__1::chrono::system_clock>'
如何将time_point 转换为ctime 可以使用的格式?或者有没有更好的方法来解决这个问题?
【问题讨论】:
-
所以我需要将
std::chrono::system_clock添加到模板参数中,这给了我这个:std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> uptime(std::chrono::nanoseconds(deviceUptime));但是我仍然得到同样的错误。