Unix-Zeitstempel erklärt: Epoch-Zeit, Umrechnung und das Jahr 2038

Wer schon einmal in eine Datenbank, ein Logfile oder eine API-Antwort geschaut hat, kennt sie: kryptische Zahlen wie 1718452800, die angeblich ein Datum sein sollen. Das ist ein Unix-Zeitstempel, auch Epoch-Zeit genannt – die universelle Sprache, in der Computer über Zeit reden. Dieser Artikel erklärt, was dahintersteckt und wie du solche Werte lesbar machst.

Was ist die Unix-Zeit?

Ein Unix-Timestamp ist die Anzahl der Sekunden, die seit einem fest definierten Nullpunkt vergangen sind: dem 1. Januar 1970, 00:00:00 Uhr UTC. Dieser Nullpunkt heißt Epoch (zu Deutsch: Epoche). Alles davor ist negativ, alles danach positiv. Die Zahl 1718452800 bedeutet also schlicht: so viele Sekunden nach diesem Stichtag.

Der Charme dieser Darstellung liegt in ihrer Einfachheit. Statt mit Tagen, Monaten, Schaltjahren und unterschiedlich langen Monaten zu hantieren, ist Zeit hier nur eine einzige fortlaufende Zahl. Computer können damit kinderleicht rechnen: Die Differenz zwischen zwei Zeitstempeln ist die Dauer in Sekunden, fertig. Genau deshalb speichern Datenbanken, Dateisysteme und Programmierschnittstellen Zeit fast immer in dieser Form.

Warum gerade 1970?

Das Datum ist historisch gewachsen: Das Betriebssystem Unix wurde Anfang der 1970er-Jahre bei den Bell Labs entwickelt, und seine Entwickler wählten den Jahresbeginn 1970 als bequemen, runden Bezugspunkt. Da unzählige spätere Systeme auf Unix aufbauten, setzte sich diese Epoche als de-facto-Standard durch und ist bis heute in nahezu jeder Programmiersprache und jedem Betriebssystem verankert.

Vom Timestamp zum lesbaren Datum

Im Kopf lässt sich eine zehnstellige Sekundenzahl kaum in ein Datum übersetzen – dafür sind die Schaltjahre und Monatslängen zu unregelmäßig. Mit dem Epoch Konverter fügst du den Zeitstempel einfach ein und erhältst sofort das passende Datum mit Uhrzeit sowie die Angabe in Minuten, Stunden und Tagen seit der Epoche. So wird aus 1718452800 auf einen Klick ein verständlicher Kalendertag.

Das ist im Entwickleralltag Gold wert: Du debuggst ein Logfile, findest einen Timestamp neben einem Fehler und willst wissen, wann genau das war. Statt mühsam zu rechnen, wirfst du den Wert in den Epoch Konverter und hast die Antwort. Geht es dir umgekehrt um Tage zwischen zwei Kalenderdaten, hilft zusätzlich der Datumsrechner.

Sekunden, Millisekunden und Zeitzonen

Zwei Details sorgen oft für Verwirrung. Erstens die Auflösung: Der klassische Unix-Timestamp zählt in Sekunden und ist heute zehnstellig. Viele Systeme – etwa JavaScript – verwenden jedoch Millisekunden, was eine dreizehnstellige Zahl ergibt. Wenn ein Konverter ein Datum im Jahr 56000 ausspuckt, hast du vermutlich Millisekunden als Sekunden interpretiert (oder umgekehrt).

Zweitens die Zeitzone: Der Timestamp selbst ist immer in UTC definiert und kennt keine Zeitzone. Erst bei der Anzeige wird er in deine lokale Zeit umgerechnet. Derselbe Zeitstempel zeigt in Berlin also eine andere Uhrzeit als in New York, obwohl es derselbe Moment ist. Das ist ein Feature, keine Fehlerquelle: Die Speicherung bleibt eindeutig, die Darstellung passt sich dem Nutzer an.

Das Jahr-2038-Problem

Ein bekanntes technisches Limit: Ältere Systeme speichern den Timestamp als vorzeichenbehaftete 32-Bit-Zahl. Diese läuft am 19. Januar 2038 über, weil die maximale darstellbare Sekundenzahl erreicht ist – danach würde der Wert ins Negative kippen und auf das Jahr 1901 zurückspringen. Moderne Systeme nutzen längst 64-Bit-Werte, die problemlos für Milliarden von Jahren reichen. Bei sehr alter Hardware und eingebetteten Geräten bleibt das Thema aber relevant, ähnlich wie damals das Jahr-2000-Problem.

Häufige Fragen

Ist die Unix-Zeit dasselbe wie UTC?

Nicht ganz. Der Timestamp ist auf UTC bezogen, ignoriert aber Schaltsekunden. UTC fügt gelegentlich eine Schaltsekunde ein, der Unix-Timestamp nicht. Für den Alltag ist dieser Unterschied praktisch bedeutungslos.

Warum hat mein Timestamp 13 statt 10 Stellen?

Dann ist er vermutlich in Millisekunden angegeben. Teile den Wert durch 1.000, um auf den Sekunden-Timestamp zu kommen, den die meisten Konverter erwarten.

Kann ein Timestamp negativ sein?

Ja. Daten vor dem 1. Januar 1970 werden durch negative Sekundenwerte dargestellt. Nicht jedes System unterstützt das aber sauber, weshalb sehr alte Daten manchmal Probleme bereiten.