Ich versuche, einen 10-stelligen Unix-Zeitstempel (derzeit eine Zeichenfolge) mit Ctime zu formatieren.Formatieren von Unix-Timestamp mit ctime in c
ctime() erwartet jedoch einen Parameter vom Typ time_t, keine Zeichenfolge.
Was muss ich tun, bevor ich ctime verwenden kann? Mit anderen Worten, kann ich die Zeichenfolge leicht in eine time_t konvertieren?
Verwenden Sie 'strtoull' (auf Überläufe prüfen). –
@ eq-: Die Uhrzeit ist eine vorzeichenbehaftete Menge, nicht vorzeichenlos. Negative Zeiten sind vor 1970-01-01 00: 00: 00Z (und ja, das hinterlässt eine Zweideutigkeit zwischen Fehlern und eine Sekunde vor der Epoche). –
@ JonathanLeffler, das war mir sehr bewusst. Wenn Sie jedoch von einem "10-stelligen" Zeitstempel sprechen (oder zumindest so interpretiert werden können), beschränken Sie den Bereich auf nicht negative Zeitstempel. –