SomeeLab.tools

Unix-Timestamp-Konverter

Einen Unix-Timestamp in ein lesbares Datum umwandeln und zurück, in Sekunden oder Millisekunden, in Ortszeit oder UTC. Direkt im Browser.

Jetzt
SekundenMillisekunden

Sekunden oder Millisekunden

Ein Unix-Timestamp zählt die Zeit seit Mitternacht UTC am 1. Januar 1970. Der Haken: Manche Systeme zählen in Sekunden, andere in Millisekunden.

  • Sekunden — Unix-Befehle, Zeitfunktionen in PostgreSQL und MySQL, die Felder exp und iat in einem JWT, die meisten REST-APIs
  • MillisekundenDate.now() in JavaScript, System.currentTimeMillis() in Java, viele Log-Pipelines

Wer die beiden verwechselt, landet im Januar 1970 (Millisekunden als Sekunden gelesen) oder irgendwo im Jahr 50000 (Sekunden als Millisekunden gelesen). Dieses Werkzeug erschließt die Einheit aus der Größenordnung und zeigt an, wie es die Zahl gelesen hat: Sieht ein Datum falsch aus, prüfen Sie zuerst diese Zeile.

Die Zeitzonenfalle

Ein Timestamp hat keine Zeitzone. Er ist eine einzelne Zahl, die einen Zeitpunkt benennt; die Zone kommt erst hinzu, wenn diese Zahl für Menschen in Text verwandelt wird. Derselbe Wert liest sich in Berlin als 16 Uhr und in London als 15 Uhr.

Eine Fehlermeldung mit dem Wortlaut, es sei um 15 Uhr schiefgegangen, liefert damit nur die halbe Information. Protokollieren Sie Timestamps oder ISO-8601-Zeichenketten mit Offset und bauen Sie die lesbare Uhrzeit erst bei der Anzeige.

Das Jahr-2038-Problem

In einer vorzeichenbehafteten 32-Bit-Ganzzahl läuft ein Timestamp am 19. Januar 2038 über. In diesem Moment kippt der Wert ins Negative und das Datum zeigt 1901. Aktuelle Sprachen und Datenbanken rechnen mit 64 Bit, doch wer alte eingebettete Firmware oder altes C betreut, sollte die Breite dieses Feldes einmal nachsehen.

Negative Werte und null

Negative Werte zeigen auf Daten vor 1970. Sie tauchen auf, sobald alte Datumsangaben wie ein Geburtstag so gespeichert werden, und manche Bibliotheken kommen damit schlecht zurecht.

Null ist Mitternacht UTC am 1. Januar 1970. Erscheint dieser Wert in echten Daten, ist es fast nie eine echte Uhrzeit, sondern ein nie initialisiertes Feld.