Heim > Artikel > Web-Frontend > Erhöhen Sie das angegebene Datum in JavaScript
In diesem Artikel besprechen wir, wie man ein bestimmtes Datum mithilfe von JavaScript erhöht. Lassen Sie uns zunächst die Bedeutung dieses Satzes analysieren und verstehen. Bei einem Datum x = „05.02.2023“ möchten wir y = 7 Tage zu diesem Datum hinzufügen und das resultierende Datum „12.02.2023“ ausgeben. Als Menschen können wir den 5. Februar bis zum 7. Februar manuell hinzufügen und das Ergebnis erhalten. Aber wir brauchen JavaScript, um dies programmgesteuert zu tun.
Wir werden in diesem Artikel einige Techniken dazu besprechen.
addDays akzeptiert zwei Parameter: das Datum und die Anzahl der Tage, die erhöht werden sollen. Im folgenden Code addieren wir 7 Tage zum aktuellen Datum und geben das hinzugefügte Datum auf der Konsole aus.
function addDays(date, days) { // Function to add Days var result = new Date(date); result.setDate(result.getDate() + days); return result; } let date = new Date(); console.log("Current date is "+date); let incrementedDate = addDays(date, 7); console.log("Increment date is "+incrementedDate);
Current date is Tue Mar 07 2023 11:38:38 GMT+0530 (India Standard Time) Increment date is Tue Mar 14 2023 11:38:38 GMT+0530 (India Standard Time)
Die getDate-Funktion gibt eine Ganzzahl zwischen 1 und 31 zurück, die den Tag des Monats angibt. Verwenden Sie dann die Funktion „setdate“, um den Wert der Variablen auf ein inkrementelles Datum festzulegen. Hier addieren wir 14 Tage zum aktuellen Datum und zeigen das Ergebnis auf der Konsole an. Die erhöhte Anzahl an Tagen wird in derselben Variablen „Datum“ gespeichert, sodass keine weitere Variable erforderlich ist.
let date = new Date(); console.log("Current date is "+date); date.setDate(date.getDate()+14); console.log("Increment date is "+date);
Current date is Tue Mar 07 2023 11:40:55 GMT+0530 (India Standard Time) Increment date is Tue Mar 21 2023 11:40:55 GMT+0530 (India Standard Time)
Anstatt eine integrierte Funktion zu verwenden, erstellen wir hier unsere eigene Funktion, um das Datum zu erhöhen. Wir extrahieren zunächst die Tages-Ganzzahlen von Monat, Monat und Jahr aus dem angegebenen Datum und speichern sie jeweils als Variablen d, m und y. Anschließend addieren wir die Anzahl der Tage zur Variablen d oder day und konvertieren sie bei der Rückgabe wieder in das Datumsformat. Derzeit verfügt diese Funktion nur über begrenzte Möglichkeiten zum Hinzufügen von Tagen über einen Monat hinaus. Dies kann jedoch höchstens geändert oder vermieden werden, da eine integrierte Funktion vorhanden ist.
function AddDays(start,days){ var d=start.getDate(); var m=start.getMonth()+1; //getMonth returns the index of the month hence +1 is added var y=start.getYear(); //getYear returns the year minus 1900 in the current javascript version, hence 1900 is added to it below var newDate=m+"-"+(d+days)+"-"+(y+1900); return new Date(newDate); } today=new Date(); console.log("The date today is "+today); console.log("The date after 5 days is "+AddDays(today,5));
The date today is Tue Mar 07 2023 11:43:02 GMT+0530 (India Standard Time) The date after 5 days is Sun Mar 12 2023 00:00:00 GMT+0530 (India Standard Time)
Auf E-Commerce-Websites werden die voraussichtlichen Lieferzeiten häufig in Tagesschritten angezeigt. Sonntags ist diese Lieferzeit in der Regel nicht möglich. Sonntage müssen bei der Berechnung der voraussichtlichen Liefertermine ausgeschlossen werden. Auch Feiertage können ausgeschlossen werden.
So fügen Sie dem aktuellen Datum 7 Arbeitstage hinzu.
Beispielfunction AddWorkingDays(start,days){ // retrieve the index of the start date var d=start.getDay(); var incrementby=days; if(d==0){ // 0 stands for Sunday, if current day is a Sunday then add 1 day incrementby++; } if (d + incrementby >= 6) { //Subtract days in current working week from working days var remainingWorkingDays = incrementby - (5 - d); //Add current working week's weekend incrementby += 2; if (remainingWorkingDays > 5) { //Add two days for every working week by finding out how many weeks are included incrementby += 2 * Math.floor(remainingWorkingDays / 5); //Exclude the final weekend if the remainingWorkingDays is a equal to an exact number of weeks if (remainingWorkingDays % 5 == 0) incrementby -= 2; } } start.setDate(start.getDate() + incrementby); return start; } var today=new Date(); console.log("Current date is "+today); console.log("8 working days later would be "+AddWorkingDays(today,8));
Current date is Tue Mar 07 2023 11:45:58 GMT+0530 (India Standard Time) 8 working days later would be Fri Mar 17 2023 11:45:58 GMT+0530 (India Standard Time)
Das obige ist der detaillierte Inhalt vonErhöhen Sie das angegebene Datum in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!