Datumsformat-Konverter Online
Zwischen Datumsformat-Syntaxen wechseln: strftime, Moment.js, ICU, Go, PHP, Java.
Reference table
| Element | strftime | Moment | ICU | Go |
|---|---|---|---|---|
| 4-digit year | %Y | YYYY | yyyy | 2006 |
| 2-digit year | %y | YY | yy | 06 |
| Month (01-12) | %m | MM | MM | 01 |
| Full month name | %B | MMMM | MMMM | January |
| Abbreviated month name | %b | MMM | MMM | Jan |
| Day of month (01-31) | %d | DD | dd | 02 |
| Day of month, no leading zero | %e | D | d | 2 |
| Hour 24h (00-23) | %H | HH | HH | 15 |
| Hour 12h (01-12) | %I | hh | hh | 03 |
| Minute (00-59) | %M | mm | mm | 04 |
| Second (00-59) | %S | ss | ss | 05 |
| AM/PM | %p | A | a | PM |
| Timezone abbreviation | %Z | z | zzz | MST |
| Timezone offset | %z | ZZ | Z | -0700 |
| Full weekday name | %A | dddd | EEEE | Monday |
| Abbreviated weekday name | %a | ddd | EEE | Mon |
| Day of year (001-366) | %j | DDDD | D | __2 |
Wofür das Tool gut ist
Datumsformat-Konverter für Entwicklerinnen und Entwickler
Alle Sprachen
Unterstützt strftime, Moment.js, Day.js, ICU, Go, PHP, Java, .NET und Ruby.
100 % privat
Die Konvertierung findet in deinem Browser statt. Es werden keine Daten an einen Server gesendet.
Echte Vorschau
Sieh, wie das Datum mit deinem Format in jeder Sprache gerendert würde.
Sofort
Echtzeit-Konvertierung während du tippst. Ohne Registrierung, ohne Wartezeit.
So funktioniert es
Drei Schritte, kein Aufwand
Format-Token eingeben
Tippe ein Datumsformat wie %Y-%m-%d (strftime) oder YYYY-MM-DD (Moment.js). Das Tool erkennt den Dialekt automatisch.
Sofortige Konvertierung
Erhalte das äquivalente Format in allen unterstützten Dialekten: strftime, Moment.js, ICU, Go, PHP, Java, .NET.
Vorschau mit echtem Datum
Sieh, wie das aktuelle Datum mit diesem Format in jeder Sprache aussehen würde.
FAQ
Noch Fragen?
strftime (string format time) ist eine Funktion aus der C-Standardbibliothek, definiert im C89/ANSI-C-Standard. Sie formatiert eine tm-Struktur (Zeit) als Textzeichenkette mit Tokens wie %Y (4-stelliges Jahr), %m (Monat), %d (Tag), %H (Stunde 24h), %M (Minuten), %S (Sekunden). Sie ist der Ursprung fast aller Datumsformatierungssysteme: Python, Ruby, PHP (date() verwendet andere Tokens, strftime() aber dieselben), bash und viele mehr.
Moment.js popularisierte eine andere Notation: YYYY (4-stelliges Jahr), MM (Monat), DD (Tag), HH (Stunde 24h), mm (Minuten), ss (Sekunden). Wichtiger Unterschied: Groß-/Kleinschreibung ist entscheidend (MM ist Monat, mm sind Minuten). Diese Notation wurde von Day.js, date-fns, Luxon und den meisten modernen JavaScript-Bibliotheken übernommen. Der JavaScript-Temporal-Vorschlag (TC39) verwendet die ICU-Notation.
ICU (International Components for Unicode) definiert den CLDR-Standard für Datumsformate. Es werden Tokens wie yyyy (Jahr), MM (Monat), dd (Tag), HH (Stunde) verwendet. Dieses System findet Einsatz in Java (java.time.format.DateTimeFormatter), Swift (DateFormatter), Kotlin, Android und dem JavaScript-Temporal-Vorschlag. Der Vorteil von ICU liegt in der Lokalisierung: Das Muster 'd MMMM yyyy' erzeugt auf Englisch 'April 7, 2026' und auf Deutsch '7. April 2026'.
Go (Golang) verwendet ein bestimmtes Referenzdatum als Vorlage: den 2. Januar 2006 um 15:04:05 (entspricht 01/02 03:04:05PM 06 -0700 MST – eine leicht merkbare Sequenz). Statt abstrakter Tokens beschreibst du das Format, indem du zeigst, wie dieses Datum aussehen soll: 2006-01-02 für Jahr-Monat-Tag, 15:04:05 für die volle Uhrzeit. Dieser Ansatz ist einzigartig und laut seinen Schöpfern intuitiver – auch wenn er zunächst verwirrend wirkt.
ISO-8601-Datum: strftime: %Y-%m-%d, Moment.js: YYYY-MM-DD, Go: 2006-01-02, Java: yyyy-MM-dd. Vollständiges Datum und Zeit: strftime: %Y-%m-%dT%H:%M:%S, Moment.js: YYYY-MM-DDTHH:mm:ss, Go: 2006-01-02T15:04:05, Java: yyyy-MM-dd'T'HH:mm:ss. Europäisches Format: strftime: %d/%m/%Y, Moment.js: DD/MM/YYYY, Go: 02/01/2006, Java: dd/MM/yyyy.
Geschichte der Datumsformatierung in der Programmierung, ISO 8601, lokalisierungsgerechte Formatierung und Zeitzonen-Handling
Die Standardisierung von Datumsformaten in der Informatik war historisch problematisch. Die Funktion strftime wurde in der C-Standardbibliothek (ANSI C, 1989) eingeführt, hat aber ihre Wurzeln in den AT&T-Unix-Systemen der 1970er Jahre. Vor der Standardisierung verwendete jedes System und jede Sprache seine eigene Notation, was zu ernsthaften Inkompatibilitäten führte. Der Standard ISO 8601 (erste Ausgabe 1988, überarbeitet 2004 und 2019) etablierte YYYY-MM-DD als universelles Format für den Datenaustausch, das von XML, JSON, HTTP (für Cookie- und Header-Daten) und den meisten modernen APIs übernommen wurde.
Die Lokalisierung von Daten fügt eine weitere Komplexitätsebene hinzu. Die Reihenfolge Tag/Monat/Jahr variiert je nach Land: TT.MM.JJJJ in Europa, MM/TT/JJJJ in den USA (was häufig zu Verwirrung führt: 01/02/2026 ist in Europa der 1. Februar, in den USA der 2. Januar). ICU/CLDR-Systeme handhaben diese Unterschiede automatisch: Dieselbe Formatierungsfunktion erzeugt auf Englisch 'April 7, 2026', auf Deutsch '7. April 2026' und auf Japanisch 2026年4月7日 – ohne dass der Entwickler die Unterschiede manuell verwalten muss.
Zeitzonen sind der komplexeste Teil der Datumsbehandlung in Software. Die IANA Time Zone Database (auch Olson Database oder tzdata genannt) pflegt das historische und aktuelle Verzeichnis aller Zeitzonen der Welt, einschließlich historischer Sommerzeit-Änderungen (DST). Viele berühmte Software-Bugs hängen mit Datumsangaben zusammen: der Y2K-Bug (Jahr 2000), der Jahr-2038-Bug in 32-Bit-Unix-Systemen (wo der Unix-Zeitstempel am 19. Januar 2038 überlaufen wird) und DST-Fehler, die Kalender und Buchungssysteme zweimal im Jahr beeinträchtigen.