Wie man Tage zum aktuellen Datum in JavaScript hinzufügt

Moataz Farid 12 Oktober 2023
  1. JavaScript Date-Klasse verstehen
  2. Hinzufügen von Tagen zu Date() in JavaScript
  3. Hinzufügen von Tagen zu Date() unter Verwendung von prototype in JavaScript
Wie man Tage zum aktuellen Datum in JavaScript hinzufügt

Dieses Tutorial führt ein, wie man einen neuen Tag zum aktuellen Datum oder ein benutzerdefiniertes Datum in JavaScript hinzufügt. Zuerst stellen wir vor, was Date und verschiedene Methoden in der JavaScript Klasse Date ist.

JavaScript Date-Klasse verstehen

In JavaScript ist die Klasse Date im Grunde die Anzahl der Millisekunden, die seit Mitternacht des 1. Januar 1970, UTC, vergangen sind. Sie ist nicht dasselbe wie in der UNIX-Epoche, die in Computern zur Aufzeichnung von Datums- und Zeitwerten verwendet wird.

Um mit der Verwendung der Date-Klasse zu beginnen, müssen wir ein neues Date-Objekt erstellen, mit dem wir uns befassen, und die Erstellung dieses Objekts kann auf viele Arten erfolgen, wie wir im folgenden Beispiel sehen können:

var myDate = new Date();
var myDateOne = new Date('August 19, 2020 23:15:30');
var myDateTwo = new Date('2020-08-17T03:24:00');
var myDateThree = new Date(2020, 07, 17);
var myDateFour = new Date(2020, 07, 17, 3, 24, 0);

console.log(myDate);
console.log(myDateOne);
console.log(myDateTwo);
console.log(myDateThree);
console.log(myDateFour);

Wenn wir den Date()-Konstruktor aufrufen, ohne irgendwelche Parameter anzugeben, wird das Date-Objekt das aktuelle Datum und die aktuelle Uhrzeit haben; wenn wir dagegen einen Parameter angeben, wird das Objekt die geparste Zeichenkette haben, die diesen Zeitpunkt repräsentiert.

Wenn wir den entsprechenden Datums- und Zeitkomponenten einen Wert wie im Beispiel new Date(2020, 07, 17) geben, sollte der Index bei 0 und nicht bei 1 beginnen.

Ausgabe:

Fri Nov 13 2020 19:16:58 GMT+0200 (Eastern European Standard Time)
Mon Aug 17 2020 23:15:30 GMT+0200 (Eastern European Standard Time)
Mon Aug 17 2020 03:24:00 GMT+0200 (Eastern European Standard Time)
Mon Aug 17 2020 00:00:00 GMT+0200 (Eastern European Standard Time)
Mon Aug 17 2020 03:24:00 GMT+0200 (Eastern European Standard Time)

Wir verwenden häufig viele Methoden aus der Klasse Date; einige davon werden wir in den nächsten Abschnitten erläutern.

Hinzufügen von Tagen zu Date() in JavaScript

Angenommen, wir wollen eine Funktion erstellen, die eine bestimmte Anzahl von Tagen in JavaScript hinzufügt. In diesem Fall können wir sie implementieren, indem wir die Methode der Klasse Date namens getDate() verwenden, die den Tag des Monats zwischen 1 und 31 für das ausgewählte Datum gemäß der lokalen Zeit zurückgibt, und die Methode setDate(), um den Tag des Monats für dieses spezielle Datum zu setzen.

Wenn das Datum beispielsweise der 11/02/2020 ist, ist das Hinzufügen eines Tages der 12/02/2020. Wenn es 31/03/2020 war, ist es 01/04/2020, da der einzig gültige Bereich [1, 31] ist.

Sehen wir uns das folgende Beispiel für das Hinzufügen von Tagen zum Objekt Date an.

function addDaysToDate(date, days) {
  var res = new Date(date);
  res.setDate(res.getDate() + days);
  return res;
}


var tmpDate = new Date(2020, 07, 20);  // Augest 20, 2020
console.log(addDaysToDate(tmpDate, 2));

Ausgabe:

Sat Aug 22 2020 00:00:00 GMT+0200 (Eastern European Standard Time)

Wenn wir daran interessiert sind, diesen Tag zum heutigen Tag hinzuzufügen, können wir im obigen Code new Date(date) durch new Date() ersetzen, oder wir können das new Date() direkt an die Funktion übergeben.

var tmpDate = new Date();                // Today
console.log(addDaysToDate(tmpDate, 2));  // today + 2

Ausgabe:

Sun Nov 15 2020 22:55:06 GMT+0200 (Eastern European Standard Time)

Hinzufügen von Tagen zu Date() unter Verwendung von prototype in JavaScript

Wenn wir einen Prototyp der Klasse Date erstellen wollen, der nur die numerische Eingabe als Anzahl der zu addierenden Tage benötigt, können wir ihn wie im folgenden Beispiel implementieren:

Date.prototype.addDays =
    function(noOfDays) {
  var tmpDate = new Date(this.valueOf());
  tmpDate.setDate(tmpDate.getDate() + noOfDays);
  return tmpDate;
}

var myDate = new Date();         // today
console.log(myDate.addDays(2));  // today + 2

Ausgabe:

Sun Nov 15 2020 22:59:06 GMT+0200 (Eastern European Standard Time)

Verwandter Artikel - JavaScript Date