Unix-Zeitstempel verstehen: Vollstaendige Anleitung fuer Entwickler

2026-05-20 · Development

Was ist ein Unix-Zeitstempel?

Ein Unix-Zeitstempel ist eine Methode, die Zeit als fortlaufende Gesamtzahl von Sekunden zu verfolgen. Er zählt die Anzahl der Sekunden, die seit dem 1. Januar 1970 um 00:00:00 UTC verstrichen sind — einem Referenzpunkt, der als „Unix-Epoche" bekannt ist.

Der Unix-Zeitstempel 1719000000 repräsentiert beispielsweise einen bestimmten Zeitpunkt: den 22. Juni 2024 um etwa 00:00 UTC. Jede Sekunde erhöht sich diese Zahl um eins.

Warum Unix-Zeitstempel verwenden?

Unix-Zeitstempel sind in der Softwareentwicklung aus mehreren Gründen allgegenwärtig:

  • Zeitzonenunabhängigkeit: Ein Zeitstempel repräsentiert weltweit denselben Zeitpunkt. Es gibt keine Unklarheit, ob er in EST, PST oder JST ist — er basiert immer auf UTC.
  • Einfacher Vergleich: Zwei Zeitstempel zu vergleichen ist ein einfacher Zahlenvergleich. Wenn Zeitstempel A größer als Zeitstempel B ist, geschah Ereignis A nach Ereignis B.
  • Effiziente Speicherung: Eine 10-stellige Ganzzahl zu speichern ist weitaus speichereffizienter als eine formatierte Datumszeichenkette wie „2024-06-22T00:00:00Z" zu speichern.
  • Mathematische Operationen: 86.400 Sekunden zu einem Zeitstempel hinzuzufügen ergibt genau 24 Stunden später. Keine Sorge über Monatsgrenzen oder Schaltjahre.

Sekunden vs. Millisekunden

Unix-Zeitstempel kommen in zwei gängigen Formaten vor:

  • Sekunden (10 Ziffern): Das ursprüngliche Unix-Zeitstempelformat. Beispiel: 1719000000
  • Millisekunden (13 Ziffern): Verwendet von JavaScript und vielen modernen APIs für höhere Präzision. Beispiel: 1719000000000

Eine häufige Fehlerquelle ist das Vermischen dieser beiden Formate. Wenn Sie einen Millisekunden-Zeitstempel an eine Funktion übergeben, die Sekunden erwartet, wird das Datum wildly falsch sein (etwa 50.000 Jahre in der Zukunft).

Mit Zeitstempeln in verschiedenen Sprachen arbeiten

JavaScript

const now = Date.now(); // Millisekunden
const seconds = Math.floor(Date.now() / 1000);
const date = new Date(seconds * 1000);

Python

import time
seconds = int(time.time())
from datetime import datetime
dt = datetime.fromtimestamp(seconds)

PHP

$timestamp = time(); // Sekunden
$date = date('Y-m-d H:i:s', $timestamp);

MySQL

SELECT UNIX_TIMESTAMP(); -- aktueller Zeitstempel
SELECT FROM_UNIXTIME(1719000000); -- in Datum konvertieren

Häufige Fallstricke

  • Das Jahr-2038-Problem: 32-Bit-Ganzzahlen mit Vorzeichen werden am 19. Januar 2038 überlaufen. Systeme, die 32-Bit-Zeitstempel verwenden, müssen auf 64-Bit-Ganzzahlen umsteigen.
  • Schaltsekunden: Unix-Zeitstempel berücksichtigen keine Schaltsekunden. Die meisten Systeme ignorieren sie einfach, was zu leichten Abweichungen von der Atomzeit führen kann.
  • Zeitzonenanzeige: Erinnern Sie sich immer daran, dass ein Unix-Zeitstempel in UTC ist. Die Anzeige für Benutzer erfordert eine Umrechnung in ihre lokale Zeitzone.

TryQuickToolBox Zeitstempel-Konverter

Unser kostenloses Tool konvertiert zwischen Unix-Zeitstempeln (Sekunden und Millisekunden), ISO-8601-Datumsangaben, UTC-Zeiten und lokalen Zeiten. Die Auto-Erkennung bedeutet, dass Sie jedes Format einfügen und sofort Ergebnisse erhalten können. Klicken Sie auf ein Ergebnis, um es in die Zwischenablage zu kopieren.

Jetzt Zeitstempel konvertieren →