Unix-Zeitstempel: Erst die Einheit prüfen, dann das Datum glauben

Eine Zahl aus Log oder API kann ein unplausibles Datum ergeben. Oft steckt keine geheimnisvolle Zeitzone dahinter, sondern als Millisekunden gelesene Sekunden oder umgekehrt.

Die Zahl braucht eine ausdrückliche Einheit

Der Zeitstempel misst seit 1970-01-01T00:00:00Z. Manche Systeme nutzen Sekunden; JavaScript Date nutzt Millisekunden und ignoriert Schaltsekunden.

Sekunden mal 1000 ergibt Millisekunden. Die Ziffernzahl ist keine verlässliche Vorgabe, besonders nahe der Epoche oder bei negativen Werten; prüfen Sie den Datenvertrag.

Quellen: MDN — Date timestamps, UTC and milliseconds

Die Zone ändert die Darstellung, nicht den Zeitpunkt

Derselbe Zeitpunkt kann verschiedene lokale Uhranzeigen haben, ohne einen anderen Zeitstempel zu erhalten. Einen Offset manuell zu addieren und anschließend in der Zone anzuzeigen kann ihn doppelt anwenden.

Dieser Konverter nutzt UTC und verlangt Z in der Datumseingabe. Er leitet keine Zone aus Sprache oder Land ab; für lokale Darstellung ist ein Zeitzonenkonverter geeignet.

Genauigkeit und Bereich gehören zur Bedeutung

Bruchteile einer Sekunde können Millisekunden darstellen: 1.25 Sekunden sind nicht 1250 Sekunden. Bewahren Sie den Bruchteil für eine feinere Ereignisreihenfolge.

Akzeptiert werden Sekunden mit bis zu 3 Nachkommastellen oder ganze Millisekunden. Daten werden geprüft, ungültige Tage nicht still korrigiert. Das Werkzeug misst keine Schaltsekundenintervalle und ersetzt keinen spezialisierten Zeitvertrag.

Beispiel: zwei Zahlen für denselben Zeitpunkt

86400 Sekunden und 86400000 Millisekunden ergeben beide 1970-01-02T00:00:00.000Z. 86400 als Millisekunden ergibt dagegen 1970-01-01T00:01:26.400Z — kein Sprach- oder Kalenderproblem.

−0.25 Sekunden bedeutet 1969-12-31T23:59:59.750Z. Das Minus liegt vor der Epoche, der Bruchteil bleibt erhalten; ein negativer Wert ist nicht automatisch ungültig.

Quellen