Elegantere Verarbeitung von Datumsangaben in JavaScript basierend auf Day.js

Elegantere Verarbeitung von Datumsangaben in JavaScript basierend auf Day.js

Heute empfehle ich jedem die Bibliothek Day.js, die uns bei der Verarbeitung von Daten in JavaScript helfen kann, da die Verwendung von Daten in JavaScript zu schwierig ist. Es ist für die Geschäftsentwicklung völlig unbrauchbar und Sie müssen verschiedene Funktionen selbst kapseln.

Warum day.js verwenden?

Zunächst einmal können wir mit day.js Datum und Uhrzeit in JavaScript einfacher handhaben.
Sie haben vielleicht schon von vielen Bibliotheken zur Zeitverarbeitung in JavaScript gehört, wie etwa Moment. Wir schreiben jedoch das Jahr 2021 und die Verwendung von moment.js ist eigentlich nicht zu empfehlen, da es als Tool zur Datumsverarbeitung zu umständlich ist. day.js ist eine modernere, leichtere und einfacher zu erweiternde Bibliothek.

Moment.js

Klicken Sie hier, um die Größe anzuzeigen

Tag.js

Klicken Sie hier, um die Größe anzuzeigen

Es ist sehr leichtgewichtig, da es TreeShaking verwenden und durch Plug-Ins erweitert werden kann. Wir können Plug-Ins nach Bedarf einführen, sodass wir am Ende nur das einführen, was wir brauchen.

Was würden wir ohne day.js tun?

In nativem JavaScript müssen wir das aktuelle Datum wie folgt abrufen

const heute = neues Datum();
const dd = String(today.getDate()).padStart(2, '0'); // Tag const mm = String(today.getMonth() + 1).padStart(2, '0'); // Monat const yyyy = today.getFullYear(); // Jahr const curDate = `${yyyy}-${mm}-${dd}`

console.log(aktuellesDatum)
// Ausgabe: 2021-09-17

In day.js brauchen wir natürlich nur dies, es unterstützt mehr als das und viele andere Funktionen.
importiere dayjs von „dayjs“;

const curDate = dayjs().format('JJJJ-MM-TT');

console.log(aktuellesDatum)
// Ausgabe: 2021-09-17

Day.js Beispiel

Sehen wir uns nun einige praktische und interessante Beispiele an, die einfacher und lesbarer sind als die native API.

1. Ermitteln Sie die Anzahl der Tage zwischen zwei Daten

Dokumentation anzeigen

importiere dayjs von „dayjs“;

// Der zweite Parameter wird als „Tag“ angegeben, was bedeutet, dass die Granularität day.dayjs(new Date(2021, 10, 1)).diff(new Date(2021, 9, 17), „day“); ist. 
// Ausgabe: 15

2. Überprüfen Sie, ob das Datum gültig ist

Dokumentation anzeigen

importiere dayjs von „dayjs“;

dayjs("20").istGültig(); 
// Ausgabe: false
dayjs("2021-09-17").isValid(); 
// Ausgabe: true

3. Ermitteln Sie die Anzahl der Tage im Monat des Eingabedatums

Dokumentation anzeigen

importiere dayjs von „dayjs“;

dayjs("2021-09-13").TageImMonat() 
// Ausgabe: 30

4. Tag, Monat, Jahr, Stunde, Minute, Sekunde hinzufügen

Dokumentation anzeigen

importiere dayjs von „dayjs“;

dayjs("2021-09-17 08:10:00").add(20, "Minute").format('JJJJ-MM-TT HH:mm:ss') 
// Ausgabe: 2021-09-17 08:30:00

5. Subtrahieren Sie Tage, Monate, Jahre, Stunden, Minuten und Sekunden

Dokumentation anzeigen

importiere dayjs von „dayjs“;

dayjs("2021-09-17 08:10:00").subtract(20, "Minute").format('JJJJ-MM-TT HH:mm:ss')
// Ausgabe: 2021-09-17 07:50:00

Nutzen Sie Plugins, um die Funktionalität zu erweitern

1. RelativeZeit

Dokumentation anzeigen

Rufen Sie die Zeitdifferenz zwischen der angegebenen Zeit und jetzt ab.

importiere dayjs von „dayjs“;
importiere relativeTime aus „dayjs/plugin/relativeTime“;

dayjs.extend(relativeZeit);

dayjs("2021-09-16 13:28:55").vonJetzt();
// Ausgabe: vor 9 Stunden

Nachfolgend finden Sie alle Ausgabetabellen

Reichweite Schlüssel Beispielausgabe
0 bis 44 Sekunden S vor ein paar Sekunden
45 bis 89 Sekunden M vor 1 Minute
90 Sekunden bis 44 Minuten mm vor 2 Minuten ... vor 44 Minuten
45 bis 89 Minuten H vor 1 Stunde
90 Minuten bis 21 Stunden hh vor 2 Stunden ... vor 21 Stunden
22 bis 35 Stunden D vor 2 Tagen
36 Stunden bis 25 Tage dd vor 2 Tagen ... vor 25 Tagen
26 bis 45 Tage M · vor 1 Monat
46 Tage bis 10 Monate MM vor 2 Monaten ... vor 10 Monaten
11 bis 17 Monate j vor einem Jahr
18 Monate+ JJ Vor 2 Jahren ... vor 20 Jahren

2. Woche des Jahres

Dokumentation anzeigen

Holen Sie sich die Wochennummer des angegebenen Datums im Jahr

importiere dayjs von „dayjs“;
importiere die Jahreswoche aus „dayjs/plugin/Jahreswoche“;

dayjs.extend(WochedesJahres);

Tagjs("2021-09-13 14:00:00").Woche(); 
// Ausgabe: 38

3. IstDasGleicheOderDanach

Dokumentation anzeigen

Überprüft, ob ein Datum gleich oder größer als ein Datum ist

importiere dayjs von „dayjs“;
importiere isSameOrAfter aus „dayjs/plugin/isSameOrAfter“;

dayjs.extend(istGleichesOrAfter);

dayjs("2021-09-17").isSameOrAfter("2021-09-16"); 
// Ausgabe: true

4. MinMax

Dokumentation anzeigen

Holen Sie sich das größte oder kleinste Datum in einem Array

importiere dayjs von „dayjs“;
importiere minMax aus „dayjs/plugin/minMax“;

dayjs.erweitern(minMax)

const maxDate = dayjs.max([
    dayjs("2021-09-13"), 
    dayjs("2021-09-16"), 
    dayjs("2021-09-20")
])

const minDate = dayjs.min([
    dayjs("2021-09-13"), 
    dayjs("2021-09-16"), 
    dayjs("2021-09-20")
])

maxDate.format('JJJJ-MM-TT HH:mm:ss') 
// Ausgabe: 2021-09-20 00:00:00
minDate.format('JJJJ-MM-TT HH:mm:ss') 
// Ausgabe: 2021-09-13 00:00:00

5. IstZwischen

Dokumentation anzeigen

Überprüft, ob ein angegebenes Datum innerhalb eines angegebenen Datumsbereichs liegt

importiere dayjs von „dayjs“;
importiere isBetween von „dayjs/plugin/isBetween“;

dayjs.extend(istBetween);

// Tag als Vergleichsgranularität verwenden dayjs("2010-10-21").isBetween(dayjs("2010-10-20"), dayjs("2010-10-25"), "day");
// Ausgabe: true

// Jahr als Vergleichsgranularität verwenden dayjs("2010-10-21").isBetween(dayjs("2010-10-20"), dayjs("2010-10-25"), "year");
// Ausgabe: false

Damit ist dieser Artikel über elegantere Datumsverarbeitung in JavaScript basierend auf Day.js abgeschlossen. Weitere Informationen zur Datumsverarbeitung mit Day.js finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Eine kurze Diskussion über die JS-Datumsverarbeitungsfunktion
  • Moment.js ist eine großartige Javascript-Bibliothek zur Datumsverarbeitung, die Sie nicht verpassen sollten.
  • Die 5 besten JavaScript-Bibliotheken zur Datumsverarbeitung
  • So zeigen Sie das Datum der letzten Woche und des letzten Monats in Javascript an
  • Datumsverarbeitungs-JS-Bibliothek (Mini-Version) - Zusammenfassung der selbst erstellten JS-Bibliothek
  • Eine von mir organisierte Javascript-Datumsverarbeitungsfunktion
  • Detaillierte Erläuterung der allgemeinen Datumsformatverarbeitung, der Kalenderdarstellung und der Countdown-Funktionen in js
  • JavaScript-Datumsverarbeitungsfunktion, Leistungsoptimierung bei der Stapelverarbeitung

<<:  Detaillierte Analyse, warum MySQL die Verwendung von UUID oder Snowflake-ID als Primärschlüssel nicht empfiehlt

>>:  So verwenden Sie gdb zum Debuggen von Kerndateien in Linux

Artikel empfehlen

Zusammenfassung des JS-Ausführungskontexts und -umfangs

Inhaltsverzeichnis Vorwort Text 1. Konzepte im Zu...

So aktivieren Sie den Fernzugriff in Docker

Docker-Daemon-Socket Der Docker-Daemon kann über ...

Detaillierte Erläuterung des Linux-Befehls zur Änderung des Hostnamens

Linux-Befehl zum Ändern des Hostnamens 1. Wenn Si...

MySQL InnoDB-Quellcodeanalyse für Transaktionssperren

Inhaltsverzeichnis 1. Schloss und Riegel 2. Wiede...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.11 (Win10)

In diesem Artikel werden die Installations- und K...

Ein wenig bekanntes JS-Problem: [] == ![] ist wahr, aber {} == !{} ist falsch

konsole.log( [] == ![] ) // wahr console.log( {} ...

Beschreibung der Grenzen und Bereiche zwischen MySQL

MySQL zwischen Grenzbereich Der Bereich zwischen ...

Zusammenfassung von Beispielen gängiger Methoden von JavaScript-Arrays

Inhaltsverzeichnis Gängige Array-Methoden concat(...

JavaScript implementiert die asynchrone Übermittlung von Formulardaten

In diesem Artikelbeispiel wird der spezifische Ja...

CSS-Beispielcode mit Suchnavigationsleiste

Dieser Artikel zeigt Ihnen, wie Sie mit CSS eine ...

Einführung in /etc/my.cnf-Parameter in MySQL 5.7

Nachfolgend finden Sie einige allgemeine Paramete...

So verwenden Sie das Datums-Plugin vue-bootstrap-datetimepicker in vue-cli 3

Nachfragehintergrund In letzter Zeit plane ich, V...