ByteCompress

Timestamp-Konverter

Konvertieren Sie Unix-Zeitstempel (Sekunden oder Millisekunden seit der Unix-Epoche) in menschenlesbare Datums-Zeit-Strings und konvertieren Sie Daten zurück in Unix-Zeitstempel. Unterstützt UTC und lokale Zeitzonen.

0 chars
FreeClient-sideNo signup

Unix-Zeit begann am 1. Januar 1970 um 00:00:00 UTC - der Unix-Epoche. Jeder Unix-Zeitstempel ist die Anzahl der Sekunden (oder Millisekunden in vielen modernen Systemen), die seit diesem Moment vergangen sind. Zeitstempel werden in der Programmierung, in Datenbanken und in APIs verwendet, da sie zeitzonenunabhängig, als Ganzzahlen sortierbar und einfach arithmetisch vergleichbar sind. Das Lesen von 1711843200 als rohe Zahl sagt Ihnen nichts. Dieser Konverter übersetzt es sofort in 2024-03-31T00:00:00.000Z unter Verwendung von ISO 8601 - dem internationalen Datumsstandard. Alle Konvertierungen erfolgen lokal in Ihrem Browser.

So verwenden Sie dieses Tool

  1. Timestamp zu Datum: Geben Sie einen Unix-Zeitstempel in Sekunden oder Millisekunden ein - das Tool zeigt das Datum in UTC und Ihrer lokalen Zeitzone an.
  2. Datum zu Timestamp: Geben Sie ein Datum und eine Uhrzeit mit dem Datumsauswähler ein, und kopieren Sie dann den resultierenden Unix-Zeitstempel in Sekunden und Millisekunden.
  3. Klicken Sie auf Jetzt, um den aktuellen Zeitstempel zur Referenz auszufüllen.
  4. Verwenden Sie den Formatwähler, um Daten im ISO 8601-, RFC 2822- oder menschenlesbaren Format anzuzeigen.

Verstehen von Unix-Zeitstempeln

Sekunden vs Millisekunden

Es gibt zwei weit verbreitete Konventionen. Unix-Zeit in Sekunden (10 Ziffern ab 2024, z. B. 1711843200) wird von POSIX-APIs, C/C++ time(), Pythons time.time() und den meisten serverseitigen Systemen verwendet. Unix-Zeit in Millisekunden (13 Ziffern, z. B. 1711843200000) wird von JavaScripts Date.now(), Javas System.currentTimeMillis() und vielen Web-APIs verwendet. Schnelle Regel: 10 Ziffern bedeuten Sekunden; 13 Ziffern bedeuten Millisekunden. Der größte gültige 32-Bit-Ganzzahl-Zeitstempel ist 2147483647 (Sekunden), was dem 19. Januar 2038 entspricht - das Jahr-2038-Problem für ältere Systeme.

ISO 8601-Format

ISO 8601 ist der internationale Standard für die Darstellung von Datum und Uhrzeit. Das vollständige UTC-Format ist YYYY-MM-DDTHH:mm:ss.sssZ, wobei T Datum und Uhrzeit trennt und Z UTC (Zulu-Zeit) bezeichnet. ISO 8601 ist das empfohlene Format für API-Antworten und den Datenaustausch, da es eindeutig, lexikografisch sortierbar (String-Reihenfolge entspricht chronologischer Reihenfolge) und in jeder wichtigen Programmiersprache analysierbar ist.

Beispiel

Timestamp zu Datum

Eingabe (Sekunden):       1711843200
UTC-Datum (ISO 8601):   2024-03-31T00:00:00.000Z
RFC 2822:              So, 31. März 2024 00:00:00 +0000
Menschenlesbar (UTC):  Sonntag, 31. März 2024 um 00:00:00 Uhr UTC

Datum zu Timestamp

Eingabe:                 2024-03-31 00:00:00 UTC
Unix (Sekunden):        1711843200
Unix (Millisekunden):   1711843200000

Häufige Zeitstempelformate

  • Unix-Sekunden (POSIX): 1711843200 - 10 Ziffern, verwendet in C, Python, Go, den meisten System-APIs
  • Unix-Millisekunden: 1711843200000 - 13 Ziffern, verwendet in JavaScript, Java, vielen REST-APIs
  • ISO 8601 UTC: 2024-03-31T00:00:00Z - empfohlen für API-Antworten und Datenspeicherung
  • ISO 8601 mit Offset: 2024-03-31T03:00:00+03:00 - enthält Zeitzonen-Offset für eindeutige lokale Zeit
  • RFC 2822: So, 31. März 2024 00:00:00 +0000 - verwendet in E-Mail-Headern und HTTP Date-Header
  • Unix-Epoche-Referenz: 0 = 1970-01-01T00:00:00Z

Best Practices

  • Speichern Sie Zeitstempel in UTC in Datenbanken - konvertieren Sie nur auf der Anzeigeebene in die lokale Zeit
  • Verwenden Sie ISO 8601 für API-Antworten - es ist eindeutig und in allen Sprachen analysierbar
  • Bevorzugen Sie Millisekunden gegenüber Sekunden für neue Systeme, um Gleitkomma-Arithmetik mit Sub-Sekunden-Präzision zu vermeiden
  • Migrieren Sie die Speicherung von 32-Bit-Zeitstempeln auf 64-Bit, um das Überlaufproblem im Jahr 2038 zu vermeiden

Für eindeutige Identifikatoren mit eingebetteten Zeitstempeln kombiniert UUID v7 (RFC 9562) Unix-Millisekunden-Zeitstempel mit zufälligen Bits für sortierbare, eindeutige IDs - verwenden Sie den UUID-Generator für UUID v4, wenn die Sortierreihenfolge nicht erforderlich ist. Für das Debuggen von JSON-Antworten mit Zeitstempeln macht der JSON-Formatter verschachtelte Zeitstempelfelder lesbar.

Häufig gestellte Fragen

Was ist ein Unix-Zeitstempel?

Ein Unix-Zeitstempel ist die Anzahl der Sekunden, die seit der Unix-Epoche - Mitternacht (00:00:00 UTC) am 1. Januar 1970 - vergangen sind, ohne Schaltsekunden. Er ist zeitzonenunabhängig, eine einfache Ganzzahl und leicht zu vergleichen und zu sortieren. Unix-Zeitstempel sind die universelle interne Darstellung für Zeit in Betriebssystemen, Datenbanken und Programmiersprachen.

Wie erkenne ich, ob ein Zeitstempel in Sekunden oder Millisekunden ist?

Zählen Sie die Ziffern. Ab 2024 haben Unix-Zeitstempel in Sekunden 10 Ziffern (z. B. 1700000000). Zeitstempel in Millisekunden haben 13 Ziffern (z. B. 1700000000000). Wenn die Zahl weniger als etwa 10 Milliarden beträgt, handelt es sich wahrscheinlich um Sekunden. Zeitstempel mit Nanosekundenpräzision (die in einigen Hochfrequenzsystemen verwendet werden) haben 19 Ziffern.

Was ist das Jahr-2038-Problem?

Systeme, die Unix-Zeitstempel als 32-Bit-Ganzzahlen speichern, können nur Werte bis zu 2.147.483.647 darstellen. Dieses Maximum entspricht dem 19. Januar 2038 um 03:14:07 UTC. Das Hinzufügen einer Sekunde danach führt zu einem Überlauf der Ganzzahl zu einer großen negativen Zahl, was die Datumsberechnungen unterbricht. Moderne 64-Bit-Systeme sind bis etwa 292 Milliarden Jahre in der Zukunft sicher.

Verwendet der Konverter meine lokale Zeitzone?

Ja. Das Tool zeigt sowohl UTC als auch Ihre lokale Zeit an. Die lokale Zeit wird durch die Zeitzoneneinstellung Ihres Browsers bestimmt, die die konfigurierte Zeitzone Ihres Betriebssystems widerspiegelt. Wenn Ihre Systemuhr falsch konfiguriert ist oder Sie reisen, spiegelt die Anzeige der lokalen Zeit diese Einstellung wider.

Wie bekomme ich den aktuellen Unix-Zeitstempel im Code?

JavaScript: Math.floor(Date.now() / 1000) für Sekunden oder Date.now() für Millisekunden. Python: import time; int(time.time()). Go: time.Now().Unix() für Sekunden, time.Now().UnixMilli() für Millisekunden. PostgreSQL: EXTRACT(EPOCH FROM NOW()). Bash: date +%s.