Unix-Zeit ist Sekunden seit der Epoche (1970-01-01). Je nachdem, was du meinst, kannst du es mit localtime oder in struct tm
umwandeln wandle es mit strftime in einen String um.
Wie das Handbuch zu localtime angibt
Der Rückgabewert zeigt auf einen statisch zugewiesenen Wert Struktur, die durch nachfolgende Aufrufe an eines der Datums- und Uhrzeitfunktionen.
Dies wird als Datenrennen bezeichnet. Dies geschieht, wenn zwei oder mehr Threads localtime
gleichzeitig aufrufen.
Um dies zu vermeiden, schlagen einige vor, localtime_s
zu verwenden, was eine Microsoft-Funktion ist. Auf POSIX-Systemen sollten Sie stattdessen localtime_r
verwenden
Die Funktion localtime_r () macht dasselbe, speichert die Daten jedoch in einer benutzerdefinierten Struktur.
Die Verwendung würde aussehen wie
%Vor% Ich gehe davon aus, dass Sie die Zeit in time_t
haben. Zuerst müssen Sie das in ein struct tm
konvertieren. Sie können dies mit localtime
oder gmtime
, abhängig davon, ob Sie die lokale Zeitzone oder GMT verwenden möchten.
Dann können Sie das struct tm
als String mit strftime
formatieren. Um beispielsweise ein Datum wie 2012-11-24
zu erhalten, verwenden Sie das Format "%Y-%m-%d"
.
Siehe auch Konvertieren von Unix / Linux-Zeit zu Windows FILETIME
Diese Funktion sollte von UnixTime in Windows SYSTEMTIME
konvertieren %Vor%Versuchen Sie Zeit mit lokale Zeit . Dort finden Sie ein Beispiel. Wenn es nicht klar ist, zögern Sie nicht, mir irgendwelche Fragen zu stellen.
Tags und Links c++ date time unix-timestamp