C++ chrono 系统时间(以毫秒为单位)、时间操作
我遇到了一个由于 C++11 文档不足而导致的小问题。
我想获得自纪元以来的时间(以毫秒、纳秒或秒为单位),然后我必须将该值“转换”为另一个分辨率。 我可以使用 gettimeofday() 来做到这一点,但这会很容易,所以我尝试使用 std::chrono 来实现它。
我尝试过:
std::chrono::time_point<std::chrono::system_clock> now =
std::chrono::system_clock::now();
但我不知道以这种方式获得的 time_point 的分辨率是什么,而且我不知道如何将这个时间作为简单的 unsigned long long 获得,并且我不知道如何将其转换为另一个解决。
I've got a small problem caused by insufficient documentation of C++11.
I'd like to obtain a time since epoch in milliseconds, or nanoseconds or seconds and then I will have to "cast" this value to another resolution.
I can do it using gettimeofday() but it will be to easy, so I tried to achieve it using std::chrono.
I tried:
std::chrono::time_point<std::chrono::system_clock> now =
std::chrono::system_clock::now();
But I have no idea what is a resolution of obtained in this way time_point, and I don't know how to get this time as a simple unsigned long long, and I haven't any conception how to cast it to another resolution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以执行
now.time_since_epoch()
来获取表示自纪元以来的时间的持续时间,以及时钟分辨率。要转换为毫秒,请使用duration_cast
:You can do
now.time_since_epoch()
to get a duration representing the time since the epoch, with the clock's resolution. To convert to milliseconds useduration_cast
: