Unix-Zeitstempel erklärt

Epoch Time verstehen

Über Zeitstempel erfahren

Ein Unix-Zeitstempel wie „1704067200“ bedeutet 1. Januar 2024, Mitternacht UTC. Diese einfache Zahl – Sekunden seit dem 1. Januar 1970 – ist die Art, wie Computer universell die Zeit darstellen. Das Verständnis von Unix-Zeitstempeln ist für Programmierung, Datenbanken und die Arbeit mit APIs unerlässlich.

Warum 1970?

Das Unix-Betriebssystem wurde Ende der 1960er Jahre bei Bell Labs entwickelt. Als die Entwickler einen beliebigen Startpunkt für die Zeitmessung brauchten:

  • Der 1. Januar 1970 wurde als runde Zahl nahe der Systemerstellung gewählt
  • Er ermöglichte 32-Bit-Ganzzahlen, Daten weit in die Zukunft abzudecken
  • Der Start um Mitternacht UTC hielt es einfach und universell

Diese „Epoche“ wurde zum De-facto-Standard in der gesamten Informatik.

Zeitstempel umrechnen

Zeitstempel zu Datum

ZeitstempelLesbar (UTC)
01. Januar 1970 00:00:00
864002. Januar 1970 00:00:00
10000000009. September 2001 01:46:40
123456789013. Februar 2009 23:31:30
17040672001. Januar 2024 00:00:00
200000000018. Mai 2033 03:33:20
214748364719. Januar 2038 03:14:07 (32-Bit-Grenze)

Nützliche Zeitintervalle

ZeitraumSekunden
1 Minute60
1 Stunde3.600
1 Tag86.400
1 Woche604.800
1 Jahr (ca.)31.536.000

Millisekunden-Zeitstempel

Viele Systeme verwenden Millisekunden statt Sekunden:

FormatBeispiel (gleicher Zeitpunkt)Verwendet von
Sekunden1704067200Unix, PHP, Python
Millisekunden1704067200000JavaScript, Java, JSON-APIs
Mikrosekunden1704067200000000Einige Datenbanken
Nanosekunden1704067200000000000Go, einige Systeme

Zur Umrechnung: Millisekunden ÷ 1000 = Sekunden

Mit Zeitstempeln im Code arbeiten

JavaScript

// Aktueller Zeitstempel (Millisekunden)
Date.now(); // 1704067200000

// Zeitstempel zu Datum
new Date(1704067200 * 1000);

// Datum zu Zeitstempel
Math.floor(new Date('2024-01-01').getTime() / 1000);

Python

import time, datetime

# Aktueller Zeitstempel
time.time()  # 1704067200.0

# Zeitstempel zu Datetime
datetime.datetime.fromtimestamp(1704067200)

# Datetime zu Zeitstempel
datetime.datetime(2024, 1, 1).timestamp()

SQL

-- MySQL: Aktueller Zeitstempel
SELECT UNIX_TIMESTAMP();

-- Zeitstempel zu Datum umwandeln
SELECT FROM_UNIXTIME(1704067200);

-- Datum zu Zeitstempel
SELECT UNIX_TIMESTAMP('2024-01-01');

Vorteile von Unix-Zeitstempeln

  • Zeitzonenneutral: Immer UTC, keine Sommerzeitprobleme
  • Einfache Arithmetik: Sekunden addieren/subtrahieren für Zeitberechnungen
  • Kompakte Speicherung: Einzelne Ganzzahl statt formatierter Zeichenkette
  • Sortierung: Natürliche numerische Sortierung entspricht chronologischer Sortierung
  • Universell: Funktioniert sprach- und systemübergreifend

Wann Zeitstempel vs. formatierte Daten verwenden

  • Zeitstempel: Speicherung, Berechnungen, APIs, Datenbanken
  • Formatierte Daten: Benutzeranzeige, Berichte, Protokolle

Fazit

Unix-Zeitstempel zählen Sekunden seit dem 1. Januar 1970 UTC. Dieses einfache System ermöglicht eine universelle Zeitdarstellung über Computer und Programmiersprachen hinweg. Denken Sie daran, dass einige Systeme Millisekunden (13 Stellen) statt Sekunden (10 Stellen) verwenden und dass 32-Bit-Systeme 2038 an eine Grenze stoßen. Für Speicherung und Berechnungen sind Zeitstempel ideal; für die Anzeige rechnen Sie in lesbare Formate um.

Verwandte Artikel

Unix-Zeitstempel erklärt: Epoch Time für Entwickler | YounitConverter