由于C ++ 11文档不足,我遇到了一个小问题。
我想获得自纪元以来的时间,以毫秒为单位,或纳秒或秒,然后我必须将此值“转换”为另一个分辨率。 我可以使用gettimeofday()来实现它,但它很容易,所以我尝试使用std :: chrono实现它。
我试过了:
std::chrono::time_point<std::chrono::system_clock> now =
std::chrono::system_clock::now();
但我不知道以这种方式获得的分辨率是什么time_point,我不知道如何将这个时间作为一个简单的无符号long long,而且我没有任何概念如何将它转换为另一个分辨率。
答案 0 :(得分:91)
您可以now.time_since_epoch()
auto duration = now.time_since_epoch();
auto millis = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
来获取代表自纪元以来时间的持续时间。要转换为毫秒,请使用the clock's resolution:
{{1}}