Unix Timestamp umrechnen

  

 

Größe

Mit Esc verlässt du den Vollbildmodus

So funktioniert’s

  1. Aktuelle Zeit ablesen

    Die große Zahl ist die Unixzeit in diesem Moment, in Sekunden. Sie läuft jede Sekunde weiter. Mit „Kopieren“ übernimmst du sie.

  2. Timestamp umrechnen

    Wähl „Timestamp in Datum“ und füg eine Zahl ein. 10 Ziffern werden als Sekunden gelesen, 13 als Millisekunden. Du bekommst Ortszeit, UTC und ISO 8601.

  3. Datum umrechnen

    Wähl „Datum in Timestamp“, stell Datum und Uhrzeit ein, dann Ortszeit oder UTC. Der Timestamp ist bereit zum Kopieren.

Hast du einen Verbesserungsvorschlag?

Wir bauen Tools, die so einfach und intuitiv wie möglich sind, mit ein paar Extras hier und da. Sag uns, was dieses hier besser machen würde.

Was ist ein Unix-Timestamp?

Ein Unix-Timestamp, auch Unixzeit, Epoch-Zeit oder POSIX-Zeit genannt, ist die Zahl der Sekunden seit dem 1. Januar 1970 um 00:00:00 UTC. Dieser Moment heißt „Epoch“. Eine Sekunde später stand der Zähler auf 1, einen Tag später auf 86.400. Wer einen Unix Timestamp umrechnen will, macht aus dieser Zahl also ein lesbares Datum, oder umgekehrt.

Derselbe Moment hat überall auf der Welt denselben Timestamp. Zeitzonen und Sommerzeit spielen erst eine Rolle, wenn man die Zahl für Menschen wieder in ein Datum verwandelt. Deshalb lieben Server, Datenbanken, Logdateien und APIs die Unixzeit: eine einzige Ganzzahl, ohne Zeitzone, leicht zu sortieren und zu subtrahieren.

Sekunden oder Millisekunden?

Die meisten Systeme zählen Sekunden: Heute ist das eine Zahl mit 10 Ziffern. JavaScript, Java und viele APIs zählen Millisekunden: 13 Ziffern. Manche Datenbanken und Tracing-Werkzeuge gehen bis zu Mikrosekunden (16 Ziffern) oder Nanosekunden (19 Ziffern) hinunter.

Der Umrechner oben schaut auf die Länge der Zahl und wählt die Einheit für dich. Landet ein Datum im Jahr 1970 oder weit in der Zukunft, war die Einheit vermutlich falsch: Teile oder multipliziere dann durch beziehungsweise mit 1.000.

TimestampDatum und Uhrzeit (UTC)Bemerkung
01. Jan. 1970, 00:00:00Die Epoch
1.000.000.0009. Sept. 2001, 01:46:40Erster Timestamp mit 10 Ziffern
1.234.567.89013. Feb. 2009, 23:31:30Von Entwicklern gefeiert
1.700.000.00014. Nov. 2023, 22:13:20Eine runde Zahl der letzten Jahre
2.000.000.00018. Mai 2033, 03:33:20Die nächste große runde Zahl
2.147.483.64719. Jan. 2038, 03:14:07Letzte Sekunde der Zeit mit 32 Bit (vorzeichenbehaftet)

Das Jahr-2038-Problem

Viele ältere Systeme speichern den Timestamp in einer vorzeichenbehafteten 32-Bit-Ganzzahl. Der größte Wert, der hineinpasst, ist 2.147.483.647, also der 19. Januar 2038 um 03:14:07 UTC. Eine Sekunde später läuft der Zähler über und springt auf −2.147.483.648. Diese Systeme lesen dann den 13. Dezember 1901 um 20:45:52.

Moderne 64-Bit-Systeme sind für Milliarden Jahre sicher. Das Risiko steckt in eingebetteten Geräten, alten Dateiformaten, Datenbanken mit 32-Bit-Spalten und Code, der die Zeit in eine 32-Bit-Zahl umwandelt. Unter Linux bekamen 32-Bit-Plattformen mit dem Kernel 5.6 im Jahr 2020 und der glibc 2.34 im Jahr 2021 eine 64-Bit-Zeit, aber Programme müssen neu kompiliert werden, um sie zu nutzen. Ein guter Test: Speichere ein Datum im Jahr 2040 und lies es wieder aus.

Unixzeit und Schaltsekunden

Die Unixzeit tut so, als hätte jeder Tag genau 86.400 Sekunden. Die echte UTC hat seit 1972 aber 27 Schaltsekunden bekommen, die letzte am 31. Dezember 2016. Während einer Schaltsekunde wiederholt die Unixzeit meist eine Sekunde oder dehnt die Sekunden drumherum (das nennt man Smearing, einige große Cloud-Anbieter machen das so). Ein Unix-Timestamp ist also kein strenges Zählwerk vergangener SI-Sekunden, sondern die Zahl der Tage mal 86.400 plus die Sekunden des laufenden Tages.

In der Praxis spielt das selten eine Rolle, und künftig noch seltener. Im November 2022 hat die Generalkonferenz für Maß und Gewicht beschlossen, die erlaubte Abweichung zwischen UTC und der Erdrotation bis 2035 zu vergrößern, was praktisch das Ende der Schaltsekunden bedeutet. Der Internationale Erdrotationsdienst (IERS) hat bereits angekündigt, dass es Ende Dezember 2026 keine Schaltsekunde geben wird.

Zeitzonen und Sommerzeit

Ein Timestamp bezeichnet einen Moment, keine Uhrzeit an der Wand. Beim Timestamp 1.700.000.000 war es 23:13 Uhr in Berlin, Wien und Zürich, 22:13 Uhr in London und 17:13 Uhr in New York: drei Ortszeiten, eine einzige Zahl. Wenn du Daten speicherst, behalte den Timestamp (oder ein ISO-8601-Datum mit „Z“) und rechne erst für die Anzeige in Ortszeit um.

Die Zeitumstellung zeigt, warum. In der Nacht Ende Oktober, wenn die Uhren von Sommer- auf Winterzeit zurückgestellt werden, gibt es die Stunde von 2:00 bis 3:00 Uhr zweimal. Eine Ortszeit allein ist dann mehrdeutig. Die Timestamps steigen dagegen Sekunde für Sekunde weiter, ohne Sprung. In der Nacht Ende März fällt eine Stunde der Ortszeit aus, aber kein einziger Timestamp fehlt.

Timestamp oder ISO 8601?

ISO 8601 ist der lesbare Zwilling des Timestamps: 2023-11-14T22:13:20Z bezeichnet denselben Moment wie 1.700.000.000. Ein Timestamp ist kompakt und leicht zu vergleichen, ein ISO-Datum liest man bequem in einem Log oder einer JSON-Datei. Beide sind eindeutig, solange das ISO-Datum ein „Z“ oder einen Versatz wie +01:00 trägt.

Unix-Timestamp im Code

JavaScript

// Aktuelle Unixzeit in Sekunden (Date.now() liefert Millisekunden)
Math.floor(Date.now() / 1000)

// Timestamp in Datum
new Date(1700000000 * 1000).toISOString()   // "2023-11-14T22:13:20.000Z"

// Datum in Timestamp
Date.UTC(2026, 0, 1) / 1000                  // 1767225600

Python

import time
from datetime import datetime, timezone

int(time.time())                                       # aktuelle Unixzeit
datetime.fromtimestamp(1700000000, tz=timezone.utc)    # 2023-11-14 22:13:20+00:00
int(datetime(2026, 1, 1, tzinfo=timezone.utc).timestamp())   # 1767225600

PHP

time();                                   // aktuelle Unixzeit
gmdate('Y-m-d H:i:s', 1700000000);        // "2023-11-14 22:13:20"
strtotime('2026-01-01 00:00:00 UTC');     // 1767225600

SQL

-- MySQL (FROM_UNIXTIME nutzt die Zeitzone der Sitzung)
SELECT UNIX_TIMESTAMP();
SELECT FROM_UNIXTIME(1700000000);

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM now())::bigint;
SELECT to_timestamp(1700000000);

-- SQLite
SELECT strftime('%s', 'now');
SELECT datetime(1700000000, 'unixepoch');

Shell

date +%s                              # aktuelle Unixzeit
date -u -d @1700000000                # Linux (GNU date)
date -u -r 1700000000                 # macOS und BSD
date -u -d '2026-01-01 00:00' +%s     # 1767225600 (GNU date)

Typische Stolperfallen

  • Aus Versehen Ortszeit. Wer ein Datum aus „2026-01-01 00:00“ ohne Zeitzone baut, bekommt die Ortszeit des Rechners. In Deutschland liegt das im Winter eine Stunde, im Sommer zwei Stunden neben UTC. Häng „Z“ oder „UTC“ an, oder nutze oben den Schalter UTC, wenn du UTC meinst.
  • Sekunden als Millisekunden gelesen. Eine Zahl mit 10 Ziffern, als Millisekunden gelesen, landet im Januar 1970. Eine Zahl mit 13 Ziffern, als Sekunden gelesen, landet zehntausende Jahre in der Zukunft.
  • Negative Timestamps. Daten vor 1970 sind negative Zahlen: −86.400 ist der 31. Dezember 1969. Die meisten modernen Werkzeuge kommen damit klar, manche älteren nicht.

Welche Uhrzeit ein Timestamp in einer anderen Stadt ist, zeigt der Zeitzonenrechner. Tage zwischen zwei Daten zählt der Datumsrechner, und Zeiten in Stunden und Minuten addiert der Stundenrechner.

Fragen

Wie lautet der aktuelle Unix-Timestamp?

Es ist die große Zahl oben auf dieser Seite, jede Sekunde auf deinem Gerät aktualisiert. Sie zählt die Sekunden seit dem 1. Januar 1970 um 00:00:00 UTC.

Wie rechne ich einen Unix-Timestamp in ein Datum um?

Füg ihn bei „Timestamp in Datum“ ein. Im Code multiplizierst du die Sekunden mit 1.000 und übergibst sie in JavaScript an new Date(), in Python nutzt du datetime.fromtimestamp().

Ist ein Unix-Timestamp in UTC?

Ja. Die Zählung beginnt um Mitternacht UTC am 1. Januar 1970, und derselbe Moment hat in jeder Zeitzone denselben Timestamp. Nur die Anzeige als Datum hängt von der Zeitzone ab.

Warum hat mein Timestamp 13 Ziffern?

Er ist in Millisekunden, wie in JavaScript, Java und vielen APIs. Teile ihn durch 1.000, um Sekunden zu erhalten. Der Umrechner erkennt das von selbst.

Was passiert im Jahr 2038?

Am 19. Januar 2038 um 03:14:07 UTC überschreitet der Timestamp 2.147.483.647, den Höchstwert einer vorzeichenbehafteten 32-Bit-Zahl. Systeme, die die Zeit noch so speichern, springen ins Jahr 1901 zurück. 64-Bit-Systeme sind nicht betroffen.

Zählt die Unixzeit Schaltsekunden?

Nein. Die Unixzeit behandelt jeden Tag als genau 86.400 Sekunden lang. Die 27 Schaltsekunden, die seit 1972 in die UTC eingefügt wurden, zählen nicht als zusätzliche Sekunden.

Wie bekomme ich den aktuellen Timestamp in JavaScript?

Date.now() liefert Millisekunden. Für Sekunden nimm Math.floor(Date.now() / 1000).

Wie zeige ich die Unixzeit im Terminal an?

Gib date +%s unter Linux oder macOS ein. Einen Timestamp liest du mit date -u -d @1700000000 unter Linux oder date -u -r 1700000000 unter macOS.

Kann ein Unix-Timestamp negativ sein?

Ja. Negative Werte sind Daten vor 1970: −86.400 ist der 31. Dezember 1969 um 00:00 UTC.