Holen Sie sich die aktuellen timestamp in Mikrosekunden seit epoch?

Ich habe folgenden code, von dem wir versuchen, den aktuellen timestamp in Mikrosekunden seit epoch Zeit, aber wir sind mit 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();
}

Ist das der richtige Weg, das zu tun, da gemäß meinem Verständnis steady_clock wird verwendet, um zu Messen, den Lauf der Zeit nicht um die aktuelle Zeit des Tages? Oder sollte ich system_clock für diesen wie unten gezeigt:

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();
}

Ich std::chrono Paket erst seit das ist, was alle unsere code verwendet wird.

  • std::uint64_t? Zumindest für ein bisschen mehr, sowieso. Aktuelle Zeit seit Epoche ist 1440440480 Sekunden an die Zeit des Schreibens dieses Artikels, die 0x51dac207a0000 Mikrosekunden.
  • uint64_t ...
  • Sorry Jungs verwechseln mit Nanosekunden-Präzision für den moment.
InformationsquelleAutor user1950349 | 2015-08-24
Schreibe einen Kommentar