Nanosekunden seit 00:00:00 01.01.1970

Tikonteroga

Erfahrenes Mitglied
Hallo,

ich benötige einen Zeitstempel, der die vergangene Zeit seit 00:00:00 01.01.1970 UTC in Nanosekunden zurückgibt.

Es würden auch Sekunden oder Millisekunden ausreichen. Dann würde ich mit 1000 bzw. 1000*1000 skalieren.

Wie komme ich den am Besten an einen solchen Zeitstempel?

Ich habe mir schon mal die time.h sowie die win32-API angeschaut.

Die Funktion GetSystemTimeAsFileTime() gibt mir dummerweise die vergangenen 100 Nanosekunden seit dem 01.01.1601 zurück.

Grüße
 
Hi.

Erstelle dir eine SYSTEMTIME Struktur, konfiguriere diese auf die UNIX Epoche.

Konvertiere diese Systemzeit in eine FILETIME Struktur.

Kopiere diese in einen ULARGE_INTEGER.

Dann kannst du die Differenz zur aktuellen Zeit ermitteln.

Beachte aber das GetSystemTime* nicht sehr akkurat arbeitet. Die Auflösung liegt bei ca. 10 - 15 Millisekunden.
 
Zurück