Unix Timestamp Converter: Zeitstempel in Datum und Uhrzeit umrechnen

Unix-Timestamp-Converter

Ein Unix-Zeitstempel beschreibt einen Zeitpunkt als Anzahl der Sekunden seit dem 1. Januar 1970, 00:00:00 Uhr UTC. Mit einem Unix Timestamp Converter lässt sich diese Zahl in ein lesbares Datum umwandeln – oder aus einem Datum ein Zeitstempel berechnen. Im Folgenden erkläre ich, wie die Umrechnung funktioniert und worauf es bei Zeitzonen und Millisekunden ankommt.

Was ein Unix-Zeitstempel angibt

Der Startpunkt der Zählung heißt Unix-Epoche. Er hat den Zeitstempel 0. Eine Sekunde später lautet der Wert 1, genau einen Tag später 86400. Zeitpunkte vor der Epoche werden durch negative Zahlen dargestellt: -1 steht für den 31. Dezember 1969 um 23:59:59 Uhr UTC.

Ein Unix-Zeitstempel enthält keine Zeitzone. Er bezeichnet einen eindeutigen Zeitpunkt. Erst bei der Anzeige als Datum und Uhrzeit entscheidet die gewählte Zeitzone darüber, welche Ortszeit erscheint.

Beispiele für die Umrechnung

Unix-Zeitstempel in Sekunden Datum und Uhrzeit in UTC Einordnung
-1 31.12.1969, 23:59:59 Eine Sekunde vor der Unix-Epoche
0 01.01.1970, 00:00:00 Beginn der Unix-Epoche
86400 02.01.1970, 00:00:00 Ein Tag nach der Epoche
946684800 01.01.2000, 00:00:00 Beginn des Jahres 2000
1704067200 01.01.2024, 00:00:00 Beginn des Jahres 2024

Datum in einen Unix-Zeitstempel umrechnen

Für die Berechnung zählt man die Sekunden zwischen dem gewünschten Zeitpunkt und der Unix-Epoche. Ein voller Tag hat dabei 24 × 60 × 60 = 86400 Sekunden. Schaltjahre müssen bei längeren Zeiträumen berücksichtigt werden.

Siehe auch  Lottozahlen Generator: zufällige Zahlen für einen Lottotipp

Ein Beispiel ist der 1. Januar 2024 um 00:00:00 Uhr UTC. Seit dem 1. Januar 1970 sind bis dahin 54 Jahre vergangen. Darin liegen 13 zusätzliche Schalttage:

(54 × 365 + 13) × 86400 = 1704067200

Der gesuchte Unix-Zeitstempel lautet also 1704067200. Für Uhrzeiten innerhalb eines Tages werden die seit Mitternacht vergangenen Sekunden addiert. Um 12:00:00 Uhr UTC beträgt der Zuschlag beispielsweise 12 × 3600 = 43200 Sekunden.

UTC und deutsche Ortszeit unterscheiden

Beim Umrechnen mit einem Unix Timestamp Converter ist die Zeitzone wichtig. Der Zeitstempel 1704067200 entspricht dem 1. Januar 2024 um 00:00 Uhr UTC. In Deutschland war es zu diesem Zeitpunkt 01:00 Uhr mitteleuropäischer Zeit (MEZ). Der Zeitstempel bleibt in beiden Fällen gleich; nur seine Darstellung ändert sich.

Im Sommer beträgt der Abstand zwischen UTC und der deutschen Ortszeit üblicherweise zwei Stunden statt einer. Wer einen Zeitstempel mit einem Termin oder einem Serverprotokoll vergleicht, sollte deshalb prüfen, ob die angezeigte Uhrzeit in UTC oder in einer lokalen Zeitzone ausgegeben wird.

Sekunden oder Millisekunden?

Nicht jedes System speichert Zeitstempel in Sekunden. Manche Anwendungen verwenden Millisekunden seit der Unix-Epoche. Für denselben Zeitpunkt am 1. Januar 2024 ergeben sich dadurch zwei unterschiedliche Zahlen:

Einheit Wert für 01.01.2024, 00:00:00 UTC Umrechnung
Sekunden 1704067200 Ausgangswert
Millisekunden 1704067200000 1704067200 × 1000
Siehe auch  Kennzeichen Generator: Kombinationen für Kfz-Kennzeichen erstellen

Wird ein Millisekundenwert versehentlich als Sekundenwert eingegeben, ist das Ergebnis falsch. Zur Umrechnung von Millisekunden in Sekunden teilt man durch 1000. Die Länge einer Zahl kann ein Hinweis auf die Einheit sein, ersetzt aber nicht die Angabe des verwendeten Systems.

Wofür die Umrechnung gebraucht wird

Unix-Zeitstempel stehen unter anderem in Logdateien, Datenbanken und Schnittstellen. Ein Converter macht daraus ein Datum, das sich leichter prüfen lässt. Umgekehrt kann ein Datum als Zeitstempel ausgegeben werden, wenn eine Anwendung einen Zahlenwert erwartet. Bei beiden Richtungen sind zwei Fragen entscheidend: Welche Zeitzone gilt für die Eingabe oder Ausgabe, und zählt der Wert Sekunden oder Millisekunden?

Eine weitere technische Grenze betrifft manche Systeme, die Zeitstempel als vorzeichenbehaftete 32-Bit-Ganzzahl speichern. Deren größter positiver Wert, 2147483647, entspricht dem 19. Januar 2038 um 03:14:07 Uhr UTC. Das ist eine Grenze dieser Speicherform, nicht des Unix-Zeitstempels als Konzept.