Was ist diese Bibliothek und wozu wird sie benötigt
\n\nMoment.js und Day.js sind zwei leistungsstarke Bibliotheken für JavaScript, die für die Arbeit mit Datums- und Zeitangaben entwickelt wurden. Sie lösen ein grundlegendes Problem: Das native Date-Objekt in JavaScript ist für alltägliche Aufgaben äußerst unpraktisch. Es unterstützt keine Formatierung, komplexe Datumsberechnungen, das Parsen von Zeichenketten in verschiedenen Formaten oder die Arbeit mit Zeitzonen, ohne Dutzende von Codezeilen schreiben zu müssen.
Moment.js war lange Zeit der De-facto-Standard, gilt aber heute als "Legacy" – seine Entwicklung wurde eingestellt und es wird aufgrund seiner Größe (ca. 300 KB) nicht mehr für neue Projekte empfohlen. Als Nachfolger kam Day.js – eine leichte (nur 2 KB) und schnelle Bibliothek mit nahezu identischer API. Day.js ist in den meisten grundlegenden Operationen vollständig kompatibel mit Moment.js, was eine einfache Migration ermöglicht.
\n\nBeide Bibliotheken bieten:
\n- \n
- Parsen von Datumsangaben aus Zeichenketten in beliebigen Formaten \n
- Formatierung von Datumsangaben in lesbare Zeichenketten \n
- Manipulationen (Hinzufügen/Subtrahieren von Tagen, Monaten, Jahren) \n
- Vergleich von Datumsangaben (vor, nach, zwischen) \n
- Arbeit mit Zeitzonen (über Plugins) \n
- Lokalisierung (Unterstützung verschiedener Sprachen und regionaler Formate) \n
In diesem Artikel betrachten wir Day.js als moderne Alternative, aber alle Beispiele funktionieren auch mit Moment.js mit minimalen Änderungen.
\n\nInstallation
\n\nDie Installation für Node.js erfolgt über npm oder yarn. Für den Browser kann CDN verwendet werden.
\n\nInstallation von Day.js
\n# Über npm\nnpm install dayjs\n\n# Über yarn\nyarn add dayjs\n\nInstallation von Moment.js
\nnpm install moment\n\n# oder\nyarn add moment\n\nEinbindung in das Projekt
\n// Day.js\nconst dayjs = require('dayjs');\n\n// Moment.js\nconst moment = require('moment');\n\nSchnellstart mit Codebeispiel
\n\nNach der Installation können Sie sofort mit der Arbeit mit Datumsangaben beginnen. Hier ist ein minimales Beispiel, das die grundlegenden Funktionen demonstriert:
\n\nconst dayjs = require('dayjs');\n\n// Aktuelles Datum und Uhrzeit\nconst now = dayjs();\nconsole.log('Jetzt:', now.format('DD.MM.YYYY HH:mm:ss'));\n\n// Parsen einer Zeichenkette\nconst date = dayjs('2024-03-15');\nconsole.log('Parsen:', date.format('DD.MM.YYYY'));\n\n// Manipulationen\nconst nextWeek = dayjs().add(7, 'day');\nconsole.log('In einer Woche:', nextWeek.format('DD.MM.YYYY'));\n\n// Differenz zwischen Datumsangaben\nconst diff = nextWeek.diff(now, 'day');\nconsole.log('Differenz in Tagen:', diff);\n\n// Vergleich\nconsole.log('Ist heute früher?', now.isBefore(nextWeek)); // true\n\nWichtige Methoden/Funktionen
\n\n1. dayjs() — Erstellen eines Datumsobjekts
\nWas es tut: Erstellt ein Day.js-Objekt, das einen bestimmten Zeitpunkt darstellt. Ohne Argumente wird das aktuelle Datum und die aktuelle Uhrzeit zurückgegeben.
\nParameter:
\n- \n
date(optional) — Zeichenkette, Zahl (Timestamp), Date-Objekt oder ein anderes Day.js-Objekt \n format(optional) — Formatzeichenkette für das Parsen, wenn date eine Zeichenkette ist \n
Arbeitsbeispiel:
\n// Aktuelles Datum\nconst now = dayjs();\n\n// Aus einer Zeichenkette\nconst fromString = dayjs('2024-12-31');\n\n// Aus einem Timestamp (Millisekunden)\nconst fromTimestamp = dayjs(1704067200000);\n\n// Aus einem Date-Objekt\nconst fromDate = dayjs(new Date(2024, 0, 1)); // 1. Januar 2024\n\n// Mit Angabe des Formats\nconst customFormat = dayjs('31.12.2024', 'DD.MM.YYYY');\n\nconsole.log(now.format()); // 2024-03-15T10:30:00+03:00\nconsole.log(customFormat.format('YYYY-MM-DD')); // 2024-12-31\n\n2. format() — Datumsformatierung
\nWas es tut: Wandelt das Datumsobjekt in eine Zeichenkette gemäß dem angegebenen Format um
Auch in der Bibliothek
GraphQL Java: Vollständiger Leitfaden zur Bibliothek für die Erstellung von APIs in Java
Arbeiten mit ZIP-Archiven in Java: vollständige Anleitung zu java.util.zip
Kotlin Aufgabenplaner: kotlinx-coroutines-core und die korGE-Bibliothek
Puppeteer für JavaScript (Node.js): Komplettguide mit Beispielen