In einem aktuellen Tutorial haben wir gelernt, wie man die Werte für Monat, Tag, Jahr und Zeit eines beliebigen Date
-Objekts erhält und festlegt. Die Möglichkeit, diese Datumswerte abzurufen und festzulegen, ist in vielen Situationen nützlich. Sie können beispielsweise das Datum eines besonderen Ereignisses in einer Variablen speichern. Sie können diese Methoden auch verwenden, um das aktuelle Datum und die aktuelle Uhrzeit anzuzeigen oder einen Zeitraum zu addieren oder davon zu subtrahieren.
In diesem Tutorial konzentrieren wir uns darauf, zu lernen, wie man einen Zeitraum wie Jahr, Monat, Tag, Stunden und Minuten zu einem bestimmten Datum addiert oder subtrahiert.
Vielleicht erinnern Sie sich aus unseren anderen Tutorials daran, dass JavaScript über setFullYear()
和 getFullYear()
等方法,您可以使用它们来设置和获取特定日期的当前全年。您可以使用 setMonth()
和 getMonth()
等方法来设置和获取特定日期的当前月份。同样,您可以使用 setDate()
和 getDate()
Methoden verfügt, um den Tag des Monats festzulegen und abzurufen.
Lassen Sie uns eine Funktion schreiben, die einem Datum ein Jahr hinzufügt. Es akzeptiert das Datum und das Jahr, die Sie hinzufügen möchten, als Parameter und gibt das neue Datum zurück.
function addYearsToDate(date, years) { let new_date = new Date(date); new_date.setFullYear(new_date.getFullYear() + years); return new_date; } let today = new Date(); let five_years_later = addYearsToDate(today, 5); // Outputs: Date Wed Jun 07 2023 19:04:56 GMT+0530 (India Standard Time) console.log(today); // Outputs: Date Wed Jun 07 2028 19:04:56 GMT+0530 (India Standard Time) console.log(five_years_later);
Hier ist zu beachten, dass mit dem Konstruktor Date()
ein neues Date()
构造函数创建一个新的 Date
对象,该对象被分配给变量 new_date
。只需将 new_date
的值设置为给定的 date
就会导致它们都指向同一个 Date
Objekt erstellt wird, das der Variablen new_date
zugewiesen wird. Wenn Sie einfach den Wert von new_date
auf das angegebene date
setzen, verweisen beide auf dasselbe
addMonthsToDate()
Wir werden dieselbe Logik verwenden, um die Funktion
function addMonthsToDate(date, months) { let new_date = new Date(date); new_date.setMonth(new_date.getMonth() + months); return new_date; } let today = new Date(); let five_months_later = addMonthsToDate(today, 5); let fifty_months_later = addMonthsToDate(today, 50); // Outputs: Date Wed Jun 07 2023 19:15:04 GMT+0530 (India Standard Time) console.log(today); // Outputs: Date Tue Nov 07 2023 19:15:04 GMT+0530 (India Standard Time) console.log(five_months_later); // Outputs: Date Sat Aug 07 2027 19:15:04 GMT+0530 (India Standard Time) console.log(fifty_months_later);
setMonth()
Wie ich in anderen Tutorials erwähnt habe, führt jeder Überlauf, der bei der -Methode auftritt, dazu, dass dem angegebenen Datum die entsprechende Anzahl von Jahren hinzugefügt wird. Das passiert, wenn wir dem Datum 50 Monate hinzufügen. Es hat unser Dating-Datum um 4 Jahre und 2 Monate verlängert. Jetzt schreiben wir eine Funktion, die die angegebene Anzahl von Tagen zu unserem angegebenen Datum hinzufügt und ein neues Datum zurückgibt:
function addDaysToDate(date, days) { let new_date = new Date(date); new_date.setDate(new_date.getDate() + days); return new_date; } let today = new Date(); let five_days_later = addDaysToDate(today, 5); let thousand_days_later = addDaysToDate(today, 1000); // Outputs: Date Wed Jun 07 2023 19:29:12 GMT+0530 (India Standard Time) console.log(today); // Outputs: Date Wed Jun 07 2023 19:29:12 GMT+0530 (India Standard Time) console.log(five_days_later); // Outputs: Date Wed Jun 07 2023 19:29:12 GMT+0530 (India Standard Time) console.log(thousand_days_later);
Wir haben drei neue Funktionen definiert, die es uns ermöglichen, in JavaScript ein Jahr, einen Monat oder einen Tag zu einem bestimmten Datum hinzuzufügen. Möglicherweise möchten Sie dem Datum einen anderen Zeitraum oder eine andere Dauer hinzufügen, beispielsweise Stunden, Minuten oder Sekunden. Es macht keinen Sinn, drei weitere Funktionen für sie zu schreiben.
Mit den folgenden Funktionen kann ein beliebiger Zeitraum zu einem bestimmten Datum hinzugefügt werden:
function addPeriodToDate(date, {years = 0, months = 0, days = 0, hours = 0, minutes = 0, seconds = 0}) { let new_date = new Date(date); new_date.setFullYear(new_date.getFullYear() + years); new_date.setMonth(new_date.getMonth() + months); new_date.setDate(new_date.getDate() + days); new_date.setHours(new_date.getHours() + hours); new_date.setMinutes(new_date.getMinutes() + minutes); new_date.setSeconds(new_date.getSeconds() + seconds); return new_date; } let today = new Date(); // Outputs: Date Wed Jun 07 2023 20:18:24 GMT+0530 (India Standard Time) console.log(today); let period = {years: 1, months: 2, days: 3}; let new_date = addPeriodToDate(today, period); // Outputs: Date Sat Aug 10 2024 20:18:24 GMT+0530 (India Standard Time) console.log(new_date); period = {years: 4, months: 22}; new_date = addPeriodToDate(today, period); // Outputs: Date Sat Apr 07 2029 20:18:24 GMT+0530 (India Standard Time) console.log(new_date); period = {days: 4, seconds: 22}; new_date = addPeriodToDate(today, period); // Outputs: Date Sun Jun 11 2023 20:18:46 GMT+0530 (India Standard Time) console.log(new_date);
Wir müssen keine separate Funktion schreiben, um einen beliebigen Zeitraum von einem Datum zu subtrahieren. Mit den Funktionen im vorherigen Abschnitt können Sie Jahre, Monate, Tage, Stunden, Minuten oder Sekunden subtrahieren. Sie müssen lediglich einen negativen Wert für diesen Zeitraum angeben. Hier einige Beispiele:
period = {years: -1, months: -2, days: -3}; new_date = addPeriodToDate(today, period); // Outputs: Date Mon Apr 04 2022 20:18:24 GMT+0530 (India Standard Time) console.log(new_date); period = {years: -4, months: -22}; new_date = addPeriodToDate(today, period); // Outputs: Date Mon Aug 07 2017 20:18:24 GMT+0530 (India Standard Time) console.log(new_date); period = {days: -4, seconds: -22}; new_date = addPeriodToDate(today, period); // Outputs: Date Sat Jun 03 2023 20:18:02 GMT+0530 (India Standard Time) console.log(new_date);
addYearsToDate()
这样的函数,专门简单地执行此操作。另一种方法是创建一个更通用的 addPeriodToDate()
In diesem Tutorial haben wir zwei verschiedene Möglichkeiten kennengelernt, das Problem des Addierens und Subtrahierens von Jahren, Monaten, Tagen usw. zu Datumsangaben in JavaScript zu lösen. Wenn Sie nur Jahre addieren oder subtrahieren möchten, können Sie eine Funktion wie
Das obige ist der detaillierte Inhalt vonVanilla JavaScript: Tage vom Datum addieren oder subtrahieren (und mehr). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!