Kurzreferenz

Moment.js Spickzettel

Ein umfassender Leitfaden fuer Moment.js: Datums-Parsing, Formatierungs-Token, Datumsmanipulation, lokalisierte Formate und moderne Alternativen.

· Veröffentlicht

Moment.js ist eine bewaehrte JavaScript-Bibliothek zum Parsen, Validieren, Manipulieren und Formatieren von Datumsangaben.

Datumsangaben parsen

// Aktuellen Zeitstempel erfassen
const now = moment();

// Mit explizitem Formatstring parsen
const m = moment('2026-10-25', 'YYYY-MM-DD');

// Unix-Timestamp parsen (Sekunden vs. Millisekunden)
moment.unix(1730000000); // aus Sekunden
moment(1730000000000);   // aus Millisekunden

// Gueltigkeit pruefen
m.isValid(); // -> true

Formatierungs-Token

m.format();                  // "2026-10-25T00:00:00+08:00" (// ISO 8601 Standardformat)
m.format('dddd');            // "Sunday"
m.format('MMM Do YY');       // "Oct 25th 26"
m.fromNow();                 // "// Relative Zeitangabe (z.B. vor 3 Stunden)"
m.calendar();                // "// Kalenderformat"

Datums-Token Tabelle

Token Ausgabebereich Beschreibung
YYYY 2026 4-digit year
YY 26 2-digit year
MM 01..12 2-digit month
MMM Jan..Dec Short month name
MMMM January..December Full month name
DD 01..31 2-digit day of month
Do 1st..31st Day of month with ordinal
d 0..6 Day of week (0 is Sunday)
ddd Sun..Sat Short day of week
dddd Sunday..Saturday Full day of week
Q 1..4 Quarter of the year

Zeit-Token Tabelle

Token Ausgabebereich Beschreibung
HH 00..23 24-hour hour (2-digit)
H 0..23 24-hour hour (1-digit)
hh 01..12 12-hour hour (2-digit)
mm 00..59 Minute (2-digit)
ss 00..59 Second (2-digit)
SSS 000..999 Milliseconds (3-digit)
A AM / PM Uppercase meridiem
a am / pm Lowercase meridiem
Z +08:00 Difference from UTC

Datumsmanipulation

Moment-Objekte sind veraenderlich (mutable). Operationen modifizieren die Instanz direkt:

// Addieren und Subtrahieren
moment().add(7, 'days');
moment().subtract(1, 'month');

// Auf Einheitengrenzen setzen
moment().startOf('day');  // 00:00:00.000 heute
moment().endOf('month');  // 23:59:59.999 letzter Tag des Monats

// Klonen zur Vermeidung ungewollter Mutationen
const original = moment();
const nextWeek = original.clone().add(7, 'days');

Lokalisierte Formatvoreinstellungen

Format Beispielausgabe
LT 8:30 PM
LTS 8:30:25 PM
L 10/25/2026
LL October 25, 2026
LLL October 25, 2026 8:30 PM
LLLL Sunday, October 25, 2026 8:30 PM

Moderne Alternativen

Moment.js befindet sich im Wartungsmodus. Empfohlene moderne Alternativen:

  • date-fns: Unveraenderliche, modulare Utility-Funktionen mit Tree-Shaking.
  • Day.js: 2KB leichtgewichtiger Ersatz mit identischer API.
  • Luxon: Moderne DateTime-Bibliothek der Moment-Autoren auf Basis von Intl.
  • Native Intl.DateTimeFormat: Direkt in modernen Browsern und Node.js ohne Abhaengigkeiten verfuegbar.

Referenzen

Verwandte Themen