我有一段以下的代码,我们试图使用steady_clock
获取自纪元时间以来的微秒级时间戳。
inline uint64_t get_timestamp()
{
std::chrono::time_point<std::chrono::steady_clock> ts = std::chrono::steady_clock::now();
return std::chrono::duration_cast<std::chrono::microseconds>(ts.time_since_epoch()).count();
}
根据我理解,steady_clock
用于测量时间的流逝,而不是获取当前时间,所以这种方式是否正确?或者我应该像下面这样使用system_clock
:
inline uint64_t get_timestamp()
{
std::chrono::time_point<std::chrono::system_clock> ts = std::chrono::system_clock::now();
return std::chrono::duration_cast<std::chrono::microseconds>(ts.time_since_epoch()).count();
}
我需要只使用std::chrono
库,因为这是我们所有代码都在使用的。
std::uint64_t
?至少现在还是用这个吧。在我写这段话的时候,当前时间自纪元以来已经过去了1440440480秒,也就是0x51dac207a0000微秒。 - Nik Bougalisuint64_t
... - Alex Lop.