S
SoSimple.tools
Entwickler- & Design-Tools

Unix-Timestamp-Umrechner: Epoch in lesbares Datum und zurück

Fügen Sie einen Timestamp ein, um ihn als Datum zu lesen, oder wählen Sie ein Datum, um den Timestamp zu erhalten. Das Tool erkennt Sekunden, Millisekunden, Mikro- und Nanosekunden und zeigt UTC sowie die gewählte Zeitzone

Läuft in Ihrem Browser: Ihre Eingaben bleiben auf Ihrem Gerät

Timestamp und Datum

Nur Ziffern; für Daten vor 1970 ein Minuszeichen voranstellen. Eine Änderung in einem Feld aktualisiert das andere. Gültiger Bereich: etwa ±8,64 × 10¹⁵ Millisekunden um 1970.

Umrechnungsergebnis
UTC (ISO 8601)
2023-11-14T22:13:20Z
Erkannt als Sekunden (Ziffernanzahl: 10)
Sekunden
1700000000
Millisekunden
1700000000000
Mikrosekunden
1700000000000000
Nanosekunden
1700000000000000000
In der gewählten Zeitzone
Dienstag, 14. November 2023 um 22:13:20 UTC
2023-11-14T22:13:20Z (UTC)
RFC-2822-Format (UTC)
Tue, 14 Nov 2023 22:13:20 +0000
Wochentag und Tag des Jahres (UTC)
Dienstag, 318. Tag des Jahres

Unix-Zeit zählt Sekunden seit 1970-01-01 00:00:00 UTC und ignoriert Schaltsekunden. Die Zeitzone ändert nur, wie der Zeitpunkt angezeigt wird.

Tool teilen

So nutzen Sie das Tool

  1. Fügen Sie einen Unix-Timestamp ein oder drücken Sie „Aktuelle Zeit verwenden“. Das Datumsfeld füllt sich sofort.
  2. Lassen Sie die Einheit auf „Automatisch“ oder wählen Sie Sekunden, Millisekunden, Mikrosekunden oder Nanosekunden.
  3. Wählen Sie eine Zeitzone und lesen Sie das Ergebnis in UTC und in dieser Zone. Für die Gegenrichtung ändern Sie Datum und Uhrzeit und lesen den Timestamp in allen vier Einheiten ab. Mit „Ergebnis kopieren“ übernehmen Sie ihn.

Rechenbeispiel

Der Timestamp 1700000000 hat 10 Ziffern und wird daher als Sekunden gelesen: 2023-11-14T22:13:20Z in UTC. In America/Sao_Paulo (an diesem Tag UTC−03:00) zeigt die Uhr am selben Dienstag, dem 318. Tag des Jahres 2023, 19:13:20. Hängen Sie drei Nullen an, 1700000000000, erkennt das Tool Millisekunden und zeigt denselben Zeitpunkt. In der Gegenrichtung ist 2024-01-01 00:00:00 in UTC gleich 1704067200 Sekunden.

Methodik

Das Linux-Handbuch definiert Unix-Zeit als Anzahl der Sekunden seit der Epoch, 1970-01-01 00:00:00 UTC, und sagt, dass Linux-Systeme normalerweise der POSIX-Vorgabe folgen, wonach dieser Wert Schaltsekunden ignoriert (Manpage time(2)). POSIX liefert die Rechnung: Jeder Tag zählt genau 86400 Sekunden, ein Timestamp ist also die Zahl der Tage seit der Epoch mal 86400 plus die Sekunden des Tages. JavaScript, das dieses Tool ausführt, speichert denselben Zeitpunkt als Millisekunden seit der Epoch und akzeptiert Werte bis ±8,64 × 10¹⁵ ms, vom 20. April 271821 v. Chr. bis zum 13. September 275760 n. Chr. (MDN). Daten werden im ISO-8601-Format geschrieben, im Profil von RFC 3339, mit „Z“ für UTC oder einem Versatz wie −03:00. Alles läuft in Ihrem Browser, und die Zeitzonenregeln stammen aus den Daten des Browsers, nicht von dieser Seite.

Verwendete Formeln: Die Einheitenerkennung zählt die Ziffern vor dem Dezimaltrenner: bis 11 sind Sekunden, 12 bis 14 Millisekunden, 15 bis 17 Mikrosekunden und ab 18 Nanosekunden. Der Wert wird exakt als ganze Zahl von Nanosekunden gehalten, sodass 19-stellige Werte jede Ziffer behalten. Millisekunden = Nanosekunden ÷ 1.000.000, abgerundet. Der Zonenversatz ist die Differenz zwischen der Uhrzeit, die der Browser für diesen Zeitpunkt in der gewählten Zone meldet, und UTC. Bei einem Datum geht das Tool von der Uhrzeit aus, als wäre sie UTC, zieht den Zonenversatz um diesen Tag ab und prüft das Ergebnis; macht eine Zeitumstellung es mehrdeutig oder unmöglich, weist das Tool darauf hin.
Grenzen der Methode: Kleine Werte sind mehrdeutig: 1000 kann 1000 Sekunden oder 1000 ms sein, daher liest „Automatisch“ sie als Sekunden, und Sie können Millisekunden wählen. Zeitzonenansichten gelten für die Jahre 1 bis 9999, und Daten vor 1970 hängen von den historischen Zonendaten des Browsers ab, die sich je nach Browser und Version unterscheiden können. Eine Uhrzeit, die zweimal vorkommt (Uhren werden zurückgestellt), wird auf den früheren Zeitpunkt aufgelöst, eine nicht existierende (Uhren werden vorgestellt) auf den Zeitpunkt nach der Lücke. Schaltsekunden werden nicht abgebildet, 23:59:60 kann also nicht eingegeben werden. Nach 2038-01-19 03:14:07 UTC passen Werte nicht mehr in einen vorzeichenbehafteten 32-Bit-Sekundenzähler; das Tool weist darauf hin, rechnet aber weiter.

Vier Timestamp-Fehler und wie Sie sie erkennen

Die meisten falschen Daten haben wenige wiederkehrende Ursachen. Prüfen Sie diese, bevor Sie sonst etwas debuggen.

  • Sekunden als Millisekunden gelesen, oder umgekehrt. 1700000000 als Millisekunden ist der 1970-01-20, nur 19 Tage nach der Epoch, und 1700000000000 als Sekunden landet im Jahr 55840. Ein Datum nahe 1970 oder in ferner Zukunft deutet meist auf die falsche Einheit hin.
  • Ortszeit und UTC verwechselt. Ein Timestamp ist ein Zeitpunkt; die Uhrzeit ergibt sich aus der Zone. 1700000000 ist 22:13:20 in UTC und 19:13:20 in São Paulo, beides ist richtig.
  • Sekunden in einer vorzeichenbehafteten 32-Bit-Ganzzahl speichern. Der größte Wert, 2147483647, ist 2038-01-19 03:14:07 UTC, der kleinste, −2147483648, ist 1901-12-13 20:45:52 UTC. Die Manpage time(2) rät für Software, die nach 2038 laufen muss, zu einem breiteren time_t.
  • Schaltsekunden erwarten. Unix-Zeit zählt jeden Tag als 86400 Sekunden, daher ergibt das Addieren von 86400 zu einem Timestamp immer dieselbe UTC-Uhrzeit einen Tag später.

Ähnliche Tools

Häufige Fragen

Was ist ein Unix-Timestamp? ▼

Er ist die Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC, der Unix-Epoch, ohne Schaltsekunden. So ist 1700000000 gleich 2023-11-14T22:13:20Z. Als eine Zahl für einen Zeitpunkt lässt er sich leicht speichern, sortieren und vergleichen und hängt weder von einer Zeitzone noch von einem Datumsformat ab.

Woran erkenne ich, ob ein Timestamp in Sekunden oder Millisekunden vorliegt? ▼

Zählen Sie die Ziffern. Timestamps für Daten um die Gegenwart haben 10 Ziffern in Sekunden, 13 in Millisekunden, 16 in Mikrosekunden und 19 in Nanosekunden. Der Automatikmodus wendet diese Regel an und zeigt, was er erkannt hat. Sehr kleine Zahlen wie 1000 sind mehrdeutig; wählen Sie die Einheit selbst, wenn Sie sie kennen.

Was passiert 2038? ▼

2147483647 Sekunden, 2038-01-19 03:14:07 UTC, ist der größte Wert einer vorzeichenbehafteten 32-Bit-Ganzzahl. Software, die Sekunden in 32 Bit speichert, kann die nächste Sekunde nicht aufnehmen und kann auf ein Datum im Jahr 1901 überlaufen. Das Linux-Handbuch rät für Software, die nach 2038 laufen soll, zu einem breiteren time_t. Dieses Tool nutzt größere Zahlen und warnt daher nur.

Hat ein Unix-Timestamp eine Zeitzone? ▼

Nein. Er bezeichnet einen Zeitpunkt für alle Menschen auf der Erde. Die Zeitzone bestimmt nur, welche Uhrzeit Sie für diesen Zeitpunkt anzeigen: 1700000000 ist 22:13:20 UTC und 19:13:20 in America/Sao_Paulo. Wenn Sie das Datumsfeld ändern, liest das Tool es in der gewählten Zone.

Enthält die Unix-Zeit Schaltsekunden? ▼

Nein. POSIX zählt jeden Tag als genau 86400 Sekunden, und Linux folgt dieser Regel, sodass der Zähler bei einer Schaltsekunde nicht weiterläuft. Das Addieren von 86400 zu einem Timestamp ergibt daher immer dieselbe UTC-Uhrzeit einen Tag später, und dieses Tool kann keine Anzeige 23:59:60 darstellen.