Gehen Sie mit einer dieser Ersatzbibliotheken über die integrierten Datums- und Zeitfunktionen von JavaScript hinaus.

Die integrierte Unterstützung von JavaScript für die Datumsverarbeitung ist nützlich, kann jedoch umständlich zu verwenden sein. Komplexe Vorgänge wie Zeitzonenkonvertierungen und Datumsformatierung sind oft eine Herausforderung.

Glücklicherweise sind mehrere Pakete verfügbar, die das Arbeiten mit Datums- und Zeitangaben in JavaScript stressfreier machen. Hier erfahren Sie mehr über einige dieser Pakete und wie Sie mit der Arbeit an diesen Paketen beginnen können.

Wenn es um die Arbeit mit Datum und Uhrzeit geht, das native JavaScript-Datumsobjekt hat eine eingeschränkte Funktionalität.

Moment.js, eine JavaScript-Bibliothek, hat viele Funktionen eingeführt, die im nativen Date-Objekt nicht verfügbar sind. Infolgedessen ist es zur bevorzugten Bibliothek für die Arbeit mit Datums- und Uhrzeitangaben geworden.

Um Moment.js mit npm zu installieren, führen Sie den folgenden Befehl aus Ihrem Projektverzeichnis aus:

instagram viewer
npm Installieren Moment

Nach der Installation können Sie Moment.js in Ihr Projekt importieren und Operationen mit der Bibliothek ausführen:

konst Augenblick = erfordern('Moment');
konst jetzt = Moment ();
konst nowString = now.format('JJJJ-MM-TT HH: mm: ss');

Konsole.Protokoll(„Das aktuelle Datum und die Uhrzeit sind ${nowString}`);

Dieses Code-Snippet importiert die Moment.js-Bibliothek und erstellt ein moment-Objekt unter Verwendung des aktuellen Datums und der aktuellen Uhrzeit mit der Moment() Funktion. Anschließend wird demonstriert, wie das erstellte Datumsobjekt als Zeichenfolge mit formatiert wird Format() -Methode, die ein Datums-/Uhrzeitformat als Argument akzeptiert.

Sie können diese Bibliothek auch verwenden, um Zeitintervalle zu addieren und zu subtrahieren:

konst addTenMinutes = moment().add(10, 'Protokoll');
Konsole.Protokoll(`${addTenMinutes.format('h: mm a')}`);

konst subtractTwoDays = moment().subtract(2, 'Tage');
Konsole.Protokoll(`${subtractTwoDays.format('dddd, MMMM Mach JJJJ')}`);

Das Programm protokolliert zwei Variablen in unterschiedlichen Formaten auf der Konsole. Der erste, addTenMinutes, enthält das Ergebnis der Addition von 10 Minuten zum aktuellen Datum und zur aktuellen Uhrzeit. Der Zweite, zwei Tage subtrahieren, hat den aktuellen Datums- und Uhrzeitwert, von dem zwei Tage abgezogen werden.

Moment.js kann andere Vorgänge ausführen, z. B. das Überprüfen auf Schaltjahre und das Konvertieren von einem Datumsformat in ein anderes.

Es ist wichtig zu beachten, dass Moment.js nicht mehr von seinem Kernentwicklerteam gepflegt wird. Die Entwickler raten zu einer Alternative wie Luxon.js.

Luxon.js ist eine robuste und modernere JavaScript-Bibliothek für die Arbeit mit Datumsangaben. Als Alternative zu Moment.js behebt es Einschränkungen der älteren Bibliothek wie Veränderlichkeit.

Sie können Luxon mit npm installieren und dann importieren Terminzeit -Klasse in Ihrem Node.js-Projekt mithilfe der erfordern() Funktion:

konst { DateTime } = erfordern('luxon');

In Luxon beziehen sich DateTime-Objekte auf Zeitinstanzen, die bis hinunter zu Millisekunden reichen.

Sie können neu erstellen Terminzeit Objekte und greifen auf ihre Komponenten wie Jahr, Monat, Minute und Sekunde zu:

konst jetzt = DateTime.now();
konst Jahr = jetzt.Jahr;
konst Minute = jetzt.Minute;
konst second = now.second;

Dieser Code erstellt eine neue Terminzeit Objekt, das das aktuelle Datum und die Uhrzeit darstellt, mit dem Jetzt() Methode. Es greift dann über die auf die Komponenten dieses Datums zu Jahr, Minute, Und zweite Eigenschaften.

Ein Hauptunterschied zwischen Luxon.js und Moment.js ist sein unveränderlicher Charakter. Alle DateTime-Objekte sind in Luxon unveränderlich, was bedeutet, dass Sie DateTime-Eigenschaften nicht ändern können. Stattdessen können Sie neue DateTime-Instanzen aus vorhandenen erstellen.

Zum Beispiel:

konst jetzt = DateTime.now();
konst morgen = jetzt.plus({ Tage: 1 });

Dieser Code erstellt eine neue Terminzeit Objekt benannt morgen basierend auf Jetzt Objekt, mit dem Plus -Methode und übergibt ihr einen Wert von 1 Tag als Argument. Die plus-Methode erstellt ein neues DateTime-Objekt mit der angegebenen Anzahl von Tagen, die dem ursprünglichen Objekt hinzugefügt werden.

Ein weiterer Vorteil von Luxon.js ist die zuverlässige Zeitzonenunterstützung, die für die Arbeit mit Datum und Uhrzeit in modernen Webanwendungen unerlässlich ist. Die Bibliothek nutzt die Internationalisierungs-API in modernen Browsern, um eine genaue Zeitzonenunterstützung bereitzustellen.

Einer der Nachteile von Luxon.js sind jedoch die begrenzten Community-Ressourcen.

Date-fns ist eine sehr leichte JavaScript-Bibliothek, die für die Arbeit mit Datums- und Uhrzeitangaben entwickelt wurde. Es baut auf dem nativen JavaScript-Objekt auf.

Date-fns verwendet funktionale Programmiertechniken und enthält eine unveränderliche Funktion, die die Arbeit mit Datumsangaben vereinfacht und die Wahrscheinlichkeit von Fehlern in Ihrem Code verringert.

Importieren Sie nach der Installation von date-fns mit npm das Paket mit der require-Funktion in Ihr Programm:

konst { Format, addDays } = erfordern('date-fns');

Date-fns ist modular aufgebaut. Es enthält viele Funktionen, auf die Sie zugreifen können, indem Sie das Paket destrukturieren, wie im obigen Codeblock gezeigt. Der Code importiert nur die Funktionen format und addDays aus der date-fns-Bibliothek.

Hier ist ein Beispiel für die Verwendung dieser beiden Funktionen:

konst heute = neuDatum();
konst formattedDate = format (heute, 'JJJJ-MM-TT');
Konsole.log (formatiertes Datum);

konst morgen = format (addDays (heute, 1), 'JJJJ-MM-TT');
Konsole.log (morgen);

Dieses Programm demonstriert die Verwendung der date-fns-Bibliothek in JavaScript zum Formatieren und Bearbeiten von Datumsangaben.

Es schafft ein neues Datum Objekt, das das aktuelle Datum darstellt. Es formatiert das aktuelle Datum mit dem Format Funktion aus der date-fns-Bibliothek.

Es verwendet dann die Tage hinzufügen Funktion zum Erstellen eines neuen Date-Objekts, das das morgige Datum darstellt, formatiert es mit der Format Funktion und protokolliert sowohl das aktuelle als auch das morgige Datum in der Konsole in "JJJJ-MM-TT" Format.

Ein Nachteil bei der Verwendung von Date-fns ist, dass es keine Zeitzonenunterstützung bietet. Stattdessen verwendet es eine separate Bibliothek, um mithilfe von Hilfsfunktionen mit Zeitzonen zu arbeiten.

Day.js, eine weitere sehr schlanke Bibliothek, ist eine gute Wahl, wenn Sie nach einer unveränderlichen, kleineren und schnelleren Alternative zu Moment.js suchen.

Sie können Day.js als Paket in Ihrem JavaScript-Projekt installieren, indem Sie den folgenden npm-Befehl ausführen:

npm Installieren Tagjs

Um Day.js nach der Installation in Ihr Projekt zu importieren, können Sie den folgenden Code verwenden:

konst dayjs = erfordern('dayjs')

Hier sind einige grundlegende Funktionen und Methoden, die in Day.js verfügbar sind

konst jetzt = dayjs();

konst Datum = Tagjs('2023-03-23', 'JJJJ-MM-TT');

konst Monat = Datum.Monat();

konst formattedDate = date.format('MMMM D, JJJJ');

konst nächsteWoche = date.add(1, 'Woche');

Der obige Code erstellt ein neues Day.js-Objekt, das das aktuelle Datum und die aktuelle Uhrzeit darstellt, analysiert eine Datumszeichenfolge mit einem benutzerdefinierten Format und ruft den Monat aus der ab Datum Variable. Außerdem wird gezeigt, wie eine Datumsinstanz formatiert und hinzugefügt wird.

Wie Date-fns kann Day.js keine eigene Zeitzonenunterstützung bieten. Day.js verwendet ein Plugin-System, was die Verwendung verwirrend macht.

Von den behandelten Paketen ist Day.js Moment.js am ähnlichsten. Dies macht es einfacher, bei Bedarf zwischen den beiden zu wechseln.

Auswahl der richtigen Bibliothek für Ihre App

Die Auswahl der richtigen Datums- und Zeitbibliothek für Ihre JavaScript-Anwendung ist eine wichtige Entscheidung, die einen großen Einfluss auf die Qualität und Wartbarkeit Ihres Codes haben kann.

Jede der hier besprochenen Bibliotheken hat ihre Stärken und Schwächen, daher ist es wichtig, Ihre Anforderungen sorgfältig zu prüfen, bevor Sie eine Entscheidung treffen.