Heim  >  Artikel  >  Web-Frontend  >  Erhöhen Sie das angegebene Datum in JavaScript

Erhöhen Sie das angegebene Datum in JavaScript

PHPz
PHPznach vorne
2023-09-10 13:17:021152Durchsuche

在 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.

Verwenden Sie die Funktion addDays()

Die Funktion

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.

Beispiel

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);

Ausgabe

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)

Verwenden Sie die Funktionen setDate() und getDate()

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.

Beispiel

let date = new Date();
console.log("Current date is "+date);
date.setDate(date.getDate()+14);
console.log("Increment date is "+date);

Ausgabe

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)

Benutzerdefinierte Funktionen

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.

Beispiel

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));

Ausgabe

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)

Nur Arbeitstage hinzufügen

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.

Beispiel

function 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));

Ausgabe

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)

Fazit

Mit allen oben genannten Methoden können Sie Tage, Monate und sogar Jahre zu einem bestimmten Datum hinzufügen. Die Funktion zum Hinzufügen von Arbeitstagen ist in der Branche sehr nützlich und kann von E-Commerce-Plattformen, Take-Away-Websites usw. verwendet werden. Zusätzlich zu diesen Methoden können wir auch die Moment.js-Bibliothek nutzen, dies führt jedoch zu unnötiger Komplexität der Arbeit. Programm.

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen