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

Detaillierte Erklärung zur Verwendung von Vue-Mixin

Inhaltsverzeichnis Verwendung von Vue-Mixin Daten...

Dynamische Vue-Komponente

Inhaltsverzeichnis 1. Komponente 2. Keep-Alive-Mo...

So konvertieren Sie zusätzlichen Text in HTML in Auslassungspunkte

Wenn Sie zusätzlichen Text in HTML als Auslassung...

Top 10 der nützlichsten und wichtigsten Open-Source-Tools im Jahr 2019

In der Open-Source-Umfrage von Black Duck aus dem...

Detaillierte Erläuterung des Überwachungsmethodenfalls von Vue

Überwachungsmethode in Vue betrachten Beachten Na...

Absteigender Index in MySQL 8.0

Vorwort Ich glaube, jeder weiß, dass Indizes geor...

MySQL-Optimierung Verbindungsoptimierung

Im Artikel MySQL-Optimierung: Cache-Optimierung w...

Verwendung und Verständnis von MySQL-Triggern

Inhaltsverzeichnis 1. Was ist ein Auslöser? 2. Er...

Manuelle Implementierung des bidirektionalen Datenbindungsprinzips von Vue2.0

In einem Satz: Datenentführung (Object.defineProp...

Einige häufige Fehler mit MySQL null

Laut Nullwerten bedeutet der Wert Null in MySQL l...

XHTML-Erste-Schritte-Tutorial: XHTML-Hyperlinks

Es ist keine Übertreibung, zu sagen, dass Hyperlin...