У меня есть код ниже, из которого мы пытаемся получить текущую временную метку в микросекундах с момента времени, но мы используем 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
пакет только так это то, что весь наш код использует.
@ πάνταῥεῖ 'станд :: uint64_t'? Во всяком случае, немного дольше. Текущее время с эпохи составляет 1440440480 секунд на момент написания этой статьи, которая составляет 0x51dac207a0000 микросекунд. –
@ πάνταῥεῖ 'uint64_t' ... –
Извините, что парни смущены точностью наносекунд на данный момент. –