Klicken Sie auf ein Token, um es in den Formatstring einzufügen. Die Beispiele nutzen Bezugsdatum und Gebietsschema.
| Token | Beispiel | Bedeutung | Day.js |
|---|---|---|---|
| Jahr und Quartal | |||
| Jahr, vierstellig | Kern | ||
| Jahr, zweistellig | Kern | ||
| Quartal (1–4) | advancedFormat | ||
| nicht in Day.js | Quartal, Ordinalzahl | nicht in Day.js | |
| Monat | |||
| Monat (1–12) | Kern | ||
| nicht in Day.js | Monat, Ordinalzahl | nicht in Day.js | |
| Monat, zweistellig | Kern | ||
| Monatsname, kurz | Kern | ||
| Monatsname | Kern | ||
| Tag im Monat und Jahr | |||
| Tag im Monat | Kern | ||
| Tag im Monat, Ordinalzahl | advancedFormat | ||
| Tag im Monat, zweistellig | Kern | ||
| nicht in Day.js | Tag im Jahr | nicht in Day.js | |
| nicht in Day.js | Tag im Jahr, dreistellig | nicht in Day.js | |
| Wochentag | |||
| Wochentag (0 = Sonntag) | Kern | ||
| Wochentag, kürzeste Form | Kern | ||
| Wochentag, kurz | Kern | ||
| Wochentag, ausgeschrieben | Kern | ||
| nicht in Day.js | Wochentag nach Gebietsschema | nicht in Day.js | |
| nicht in Day.js | ISO-Wochentag (1 = Montag) | nicht in Day.js | |
| Woche | |||
| Kalenderwoche nach Gebietsschema | advancedFormat + weekOfYear | ||
| Kalenderwoche, Ordinalzahl | advancedFormat + weekOfYear | ||
| Kalenderwoche, zweistellig | advancedFormat + weekOfYear | ||
| ISO-Kalenderwoche | advancedFormat + isoWeek | ||
| ISO-Kalenderwoche, zweistellig | advancedFormat + isoWeek | ||
| Wochenjahr nach Gebietsschema | advancedFormat + weekYear | ||
| ISO-Wochenjahr | advancedFormat + isoWeek | ||
| Stunde | |||
| Stunde, 0–23 | Kern | ||
| Stunde, 00–23 | Kern | ||
| Stunde, 1–12 | Kern | ||
| Stunde, 01–12 | Kern | ||
| Stunde, 1–24 | advancedFormat | ||
| Stunde, 01–24 | advancedFormat | ||
| Minute und Sekunde | |||
| Minute | Kern | ||
| Minute, zweistellig | Kern | ||
| Sekunde | Kern | ||
| Sekunde, zweistellig | Kern | ||
| nicht in Day.js | Zehntelsekunde | nicht in Day.js | |
| nicht in Day.js | Hundertstelsekunde | nicht in Day.js | |
| Millisekunden | Kern | ||
| AM / PM | |||
| AM / PM | Kern | ||
| am / pm | Kern | ||
| Zeitzone | |||
| UTC-Offset, ±HH:mm | Kern | ||
| UTC-Offset, ±HHmm | Kern | ||
| Zeitzonen-Kürzel | advancedFormat + timezone | ||
| Zeitzonenname | advancedFormat + timezone | ||
| Unix-Zeit | |||
| Unix-Sekunden | advancedFormat | ||
| Unix-Millisekunden | advancedFormat | ||
| Lokalisierte Formate | |||
| Lokalisierte Uhrzeit | localizedFormat | ||
| Lokalisierte Uhrzeit mit Sekunden | localizedFormat | ||
| Lokalisiertes Datum, numerisch | localizedFormat | ||
| Lokalisiertes Datum mit Monatsname | localizedFormat | ||
| Lokalisiertes Datum mit Uhrzeit | localizedFormat | ||
| Lokalisiertes Datum mit Wochentag und Uhrzeit | localizedFormat | ||
| Kurzes numerisches Datum | localizedFormat | ||
| Kurzes Datum mit Monatsname | localizedFormat | ||
| Kurzes Datum mit Uhrzeit | localizedFormat | ||
| Kurzes Datum mit Wochentag und Uhrzeit | localizedFormat | ||
| Maskieren | |||
| Text in eckigen Klammern wird unverändert ausgegeben | Kern | ||
Leer lassen, um ISO 8601 zu parsen.
Jede Zeile verschiebt das Bezugsdatum und beschreibt das Ergebnis mit from() und calendar() relativ dazu.
| Verschiebung | from(ref) | calendar(ref) |
|---|---|---|
| .add(-45, 'second') | ||
| .add(-10, 'minute') | ||
| .add(-3, 'hour') | ||
| .add(-1, 'day') | ||
| .add(-5, 'day') | ||
| .add(-3, 'month') | ||
| .add(-2, 'year') | ||
| .add(30, 'minute') | ||
| .add(2, 'day') | ||
| .add(1, 'month') |
Alltägliche Aufgaben mit Live-Ergebnis. „Ausprobieren“ lädt eines in den Code-Runner unten.
| Aufgabe | Day.js |
|---|---|
Aktuelle Zeit formatieren | dayjs().format('YYYY-MM-DD HH:mm:ss')→ |
Tage addieren | dayjs('2023-01-01').add(1, 'day').format('YYYY-MM-DD')→ |
Zeit ab jetzt Day.js: relativeTime | dayjs().subtract(7, 'day').fromNow()→ |
Erster Tag dieses Monats | dayjs().startOf('month').format('YYYY-MM-DD')→ |
Letzter Tag dieses Jahres | dayjs().endOf('year').format('YYYY-MM-DD')→ |
Beginn dieser Woche (je nach Gebietsschema) | dayjs().startOf('week').format('YYYY-MM-DD ddd')→ |
Tage zwischen zwei Daten | dayjs().diff(dayjs('2022-01-01'), 'day')→ |
Tage in diesem Monat | dayjs().daysInMonth()→ |
Quartal des Jahres Day.js: quarterOfYear | dayjs().quarter()→ |
Kalenderzeit Day.js: calendar | dayjs().add(1, 'day').calendar()→ |
Liegt ein Datum dazwischen? Day.js: isBetween | dayjs('2024-12-31').isBetween('2024-01-01', '2025-01-01')→ |
Ist es heute? Day.js: isToday | dayjs().isToday()→ |
Ist es ein Schaltjahr? Day.js: isLeapYear | dayjs('2024-01-01').isLeapYear()→ |
Datum strikt prüfen Day.js: customParseFormat | dayjs('2023-02-30', 'YYYY-MM-DD', true).isValid()→ |
Eigenes Format parsen Day.js: customParseFormat | dayjs('13/10/2026 14:30', 'DD/MM/YYYY HH:mm').format()→ |
Unix-Zeitstempel in Sekunden | dayjs().unix()→ |
Aktuelle Zeit in UTC Day.js: utc | dayjs.utc().format()→ |
Zeit in einer anderen Zeitzone Day.js: utc + timezone + advancedFormat | dayjs().tz('America/New_York').format('YYYY-MM-DD HH:mm z')→ |
Dauer in Worten Day.js: duration + relativeTime | dayjs.duration(90, 'minutes').humanize()→ |
Am Monatsende einen Monat addieren | dayjs('2026-01-31').add(1, 'month').format('YYYY-MM-DD')→ |
add() ohne Neuzuweisung aufrufen | (() => { const d = dayjs('2026-01-01'); d.add(1, 'day'); return d.format('YYYY-MM-DD') })()→ |
Geben Sie einen Ausdruck mit dayjs ein. Er läuft direkt in Ihrem Browser, mit allen Plugins aus den Rezepten und dem oben gewählten Gebietsschema.
Probieren Sie Formatieren, Parsen, relative Zeit und Zeitdauern mit Day.js an einem Datum Ihrer Wahl aus; die Ausgabe aktualisiert sich beim Tippen. Zu jedem Ergebnis gibt es die nötigen import- und dayjs.extend()-Zeilen, und eine Token-Tabelle zeigt, welches Plugin jedes Format-Token braucht.
Legen Sie Bezugsdatum und -zeit fest (oder klicken Sie auf Jetzt), wählen Sie ein Gebietsschema und aktivieren Sie Als UTC behandeln, wenn Ihr Code dayjs.utc() nutzt.
Geben Sie unter Formatstring ein Muster ein oder klicken Sie eine Vorlage; ein Klick auf ein Token in Format-Tokens fügt es an der Cursorposition ein.
Kopieren Sie den Code unter der Ausgabe, der die nötigen Plugin-Imports bereits enthält.
Geben Sie im Parse-Playground einen Datumsstring und das erwartete Format ein; mit Strikt parsen werden nicht existierende Daten abgelehnt.
Klicken Sie bei einem der Rezepte auf Ausprobieren, um es in den Code-Runner zu laden, und sehen Sie das Ergebnis beim Bearbeiten.
Die Spalte Day.js in Format-Tokens zeigt Kern oder den Plugin-Namen, etwa advancedFormat für Do, Q und X oder localizedFormat für L und LLLL. Das Code-Snippet ergänzt die passenden import- und dayjs.extend()-Zeilen automatisch.
Dieser Playground lädt alle Plugins. Der Day.js-Kern ersetzt nur Tokens, die er kennt: Ohne advancedFormat bleibt Q stehen, und Do wird zur Tageszahl mit einem angehängten o. Binden Sie das Plugin aus der Tabelle ein; einige Moment-Tokens wie DDD oder E gibt es in Day.js gar nicht.
Ohne strikten Modus schiebt Day.js einen unmöglichen Tag in den nächsten Monat. Aktivieren Sie Strikt parsen (drittes Argument true mit dem Plugin customParseFormat), dann wird dieselbe Eingabe als ungültig gemeldet.
Setzen Sie ihn in eckige Klammern. [Week] W, GGGG gibt zum Beispiel das Wort Week gefolgt von ISO-Kalenderwoche und Jahr aus.
Nein. Day.js, seine Plugins und Sprachdateien laufen in dieser Seite, und Ihr Ausdruck wird in Ihrem Browser ausgewertet, mit allen Plugins aus den Rezepten.
Das Rezept Zeit in einer anderen Zeitzone zeigt dayjs().tz() mit den Plugins utc und timezone. Um mehrere Zonen nebeneinander zu vergleichen, nutzen Sie den Zeitzonen-Rechner.