Advertisement
  1. Code
  2. JavaScript

Addieren und Subtrahieren von Zeit von einem Datum in JavaScript

by
Read Time:6 minsLanguages:

German (Deutsch) translation by Ines Willenbrock (you can also view the original English article)

In diesem Artikel wird erläutert, wie Sie Datumsmanipulationen mit einem JavaScript Date-Objekt durchführen können. Insbesondere erfahren Sie, wie Sie einem Date-Objekt Zeit hinzufügen und die Zeit von einem Date-Objekt in JavaScript subtrahieren können.

Oft müssen Sie mit Datums- und Uhrzeitangaben in JavaScript arbeiten. Glücklicherweise bietet JavaScript ein integriertes Date-Objekt, das viele Dienstprogrammmethoden für die Datums- und Uhrzeitverwaltung bereitstellt. Obwohl diese Methoden sehr nützlich sind, um verschiedene Elemente des Datums und der Uhrzeit abzurufen, stellt ein Date-Objekt keine Methoden bereit, mit denen Sie das Datum selbst bearbeiten können. In den meisten Fällen können Sie diese Methoden einfach verwenden, um das Datum und die Uhrzeit für die Ausgabe zu formatieren.

Wenn Sie Vorgänge für ein Date-Objekt ausführen möchten, z. B. das Hinzufügen von Zeit zu einem Datum oder das Subtrahieren von Zeit von einem Datum, gibt es in Vanilla JavaScript keine einfache Möglichkeit. Oft implementieren Sie nur eine individuelle Lösung, die für Sie funktioniert. Alternativ können Sie eine Datums- und Uhrzeitbibliothek wie moment.js verwenden. Heute werden wir beide Möglichkeiten diskutieren, Datumsmanipulationen in JavaScript durchzuführen.

So fügen Sie einem JavaScript-Datum mit Vanilla JavaScript Zeit hinzu

In diesem Abschnitt wird erläutert, wie Sie einem JavaScript Date-Objekt in Vanilla JavaScript Zeit hinzufügen können.

In JavaScript gibt die getTime()-Funktion die Anzahl der Millisekunden seit der Unix-Epoche zurück. Das ist nur eine Computerzeitkonvention, die die Anzahl der Sekunden (Millisekunden in JavaScript) seit Mitternacht UTC am 1. Januar 1970 zählt.

Versuchen wir zu verstehen, wie Sie die getTime()-Funktion verwenden können, um einem Date-Objekt in JavaScript Zeit hinzuzufügen. Im folgenden Beispiel fügen wir dem vorhandenen Date-Objekt eine Stunde hinzu.

Ergebniss
currentDateObj: Sa Jul 24 2021 00:19:27 GMT-0300 (Atlantic Daylight Time)
newDateObj: Sa Jul 24 2021 01:19:27 GMT-0300 (Atlantic Daylight Time)

Zunächst haben wir die currentDateObj-Variable mit dem aktuellen Datum initialisiert, und es handelt sich um ein Date-Objekt. Als Nächstes haben wir die getTime()-Funktion verwendet, um die Anzahl der Millisekunden aus dem currentDateObj-Objekt abzurufen.

Als Nächstes haben wir die Anzahl der Millisekunden in einer Stunde berechnet. Grundsätzlich haben wir nur die Anzahl der Minuten in einer Stunde (60) mit der Anzahl der Sekunden in einer Minute (60) mit der Anzahl der Millisekunden in einer Sekunde (1000) multipliziert, um die Anzahl der Millisekunden in einer Stunde (60000) zu erhalten.

Wie Sie vielleicht bereits wissen, können Sie ein Date-Objekt initialisieren, indem Sie die Anzahl der Millisekunden als erstes Argument bereitstellen, und dies würde ein Datumsobjekt in Bezug darauf initialisieren. Daher haben wir numberOfMlSeconds und addMlSeconds hinzugefügt, um die Gesamtzahl der Millisekunden abzurufen, und wir haben es verwendet, um ein neues Datumsobjekt zu initialisieren. Und das Endergebnis ist das newDateObj-Objekt, das im Vergleich zum currentDateObj-Objekt ein Datum um eine Stunde voraus anzeigen sollte.

In der Tat können Sie fortfahren und eine wiederverwendbare Funktion erstellen, wie im folgenden Snippet gezeigt.

So kann man es benutzen, um zum Beispiel ein Datum einen Tag in der Zukunft zu bekommen.

Ergebnis
Sa Jul 25 2021 00:14:01 GMT-0300 (Atlantische Tageszeit)

So können Sie die getTime()-Funktion verwenden, um einem Date-Objekt in JavaScript Zeit hinzuzufügen. Sie können die obige Funktion auch verwenden, um einem vorhandenen Date-Objekt eine Anzahl von Tagen hinzuzufügen, Sie müssen nur Tage in Stunden konvertieren, bevor Sie die obige Funktion aufrufen.

So subtrahieren Sie die Zeit von einem JavaScript-Datum mit Vanilla JavaScript

In diesem Abschnitt erfahren Sie, wie Sie die Zeit von einem JavaScript Date-Objekt subtrahieren können.

Wie bereits im vorherigen Abschnitt erläutert, können Sie die getTime()-Funktion verwenden, um die Anzahl der Millisekunden aus einem Date-Objekt abzurufen. Und so ist die Logik des Subtrahierens der Zeit von einem Date-Objekt der Add-Operation sehr ähnlich, mit der einzigen Ausnahme, dass wir Millisekunden subtrahieren müssen, anstatt sie zu addieren.

Lassen Sie uns das folgende Beispiel durchgehen, um zu sehen, wie es funktioniert.

Wie Sie sehen können, ist es fast identisch mit dem Add-Vorgang, mit der einzigen Ausnahme, dass wir addMlSeconds von numberOfMlSeconds subtrahieren, anstatt es hinzuzufügen.

So verwenden Sie die Moment.js Library zum Ausführen von Datumsmanipulationen

Im vorherigen Abschnitt haben wir erläutert, wie Sie Vanilla JavaScript verwenden können, um Datums- und Uhrzeitmanipulationen durchzuführen. Wenn Sie keine komplexen Operationen mit einem JavaScript Date-Objekt benötigen, können Sie mit der Vanilla-JavaScript-Implementierung leben. Auf der anderen Seite, wenn Ihr Projekt erfordert, dass Sie verschiedene Arten von Datums- und Uhrzeitmanipulationen durchführen, ist es besser, eine Bibliothek eines Drittanbieters zu verwenden, die die Dinge für Sie einfacher machen kann.

Datum und Uhrzeit können überraschend kompliziert sein. Denken Sie zum Beispiel daran, einem Datum mit der obigen Methode eine Anzahl von Jahren hinzuzufügen. Es wäre einfach, wenn die Jahre immer gleich lang wären. In der realen Welt haben wir jedoch Schaltjahre. Wenn Sie einem Datum eine Anzahl von Monaten hinzufügen möchten, müssen Sie wissen, wie viele Tage jeder Monat hat.

In diesem Abschnitt erfahren Sie, wie Sie die Moment.js-Bibliothek verwenden können, die eine Vielzahl von Dienstprogrammmethoden zum Bearbeiten eines JavaScript-Date-Objekts bereitstellt. Laden Sie die Moment.js-Bibliothek herunter und Sie sind bereit, sie zu verwenden!

Sie können die Moment.js-Bibliothek in diesem CodePen testen.

Sie müssen nur die Funktion moment() aufrufen, um das aktuelle Datumsobjekt abzurufen. Sobald Sie es erhalten haben, können Sie verschiedene Analysemethoden zum Formatieren und Manipulationsmethoden zum Bearbeiten des aktuellen Datumsobjekts verwenden.

Sie können den CodePen unten verwenden, um mit verschiedenen Moment-Dienstprogrammmethoden und Möglichkeiten zum Hinzufügen oder Subtrahieren von Datumsangaben zu experimentieren. Für weitere Referenzen empfehle ich Ihnen, die offizielle Dokumentation zu besuchen.

So können Sie die Moment.js Bibliothek zum Formatieren und Bearbeiten von Datumsangaben verwenden.

Schlussfolgerung

Heute haben wir besprochen, wie Sie Datumsmanipulationen mit einem JavaScript Date-Objekt durchführen können. Neben Vanilla JavaScript haben wir auch die Moment.js Bibliothek untersucht, die ziemlich einfache Möglichkeiten bietet, Datumsmanipulationen durchzuführen.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.