1784 Stimmen

Wie kann man Tage zum Datum hinzufügen?

Hinzufügen von Tagen zum aktuellen Date JavaScript verwenden? Verfügt JavaScript über eine eingebaute Funktion wie die von .NET AddDay() ?

16voto

vaibhavmaster Punkte 589

Ohne die zweite Variable zu verwenden, können Sie 7 durch die nächsten x Tage ersetzen:

let d=new Date(new Date().getTime() + (7 * 24 * 60 * 60 * 1000));

15voto

ampachts Punkte 145

Das ist die einfachste Lösung.

 Date.prototype.addDays = function(days) {
   this.setDate(this.getDate() + parseInt(days));
   return this;
 };

 // and then call

 var newDate = new Date().addDays(2); //+2 days
 console.log(newDate);

 // or

 var newDate1 = new Date().addDays(-2); //-2 days
 console.log(newDate1);

0 Stimmen

Ich denke, das ist die beste Lösung. Wenn wir die Date-Klasse erweitern, dann macht es mehr Sinn, dass die Date-Instanz selbst aktualisiert wird.

15voto

Kamil Kiełczewski Punkte 69048

Zu subtrahieren 30 Tage Nutzung (24h=86400000ms)

new Date(+yourDate - 30 *86400000)

var yourDate=new Date();
var d = new Date(+yourDate - 30 *86400000) 

console.log(d)

0 Stimmen

Wenn Sie versuchen, die Datumszeit zu berechnen, denken Sie immer daran, dass die Datumszeit in der Informatik auf Millisekunden basiert, ( de.wikipedia.org/wiki/Systemzeit#Abrufen_der_Systemzeit ) new Date(+IhrDatum + 30 * (24*60*60*1000))

13voto

RemarkLima Punkte 11189

Sie kommen zu spät zur Party, aber wenn Sie jQuery dann gibt es ein hervorragendes Plugin namens Moment:

http://momentjs.com/

var myDateOfNowPlusThreeDays = moment().add(3, "days").toDate();

http://momentjs.com/docs/#/manipulating/

Und viele andere gute Sachen sind da drin!

Edit: jQuery-Referenz dank aikerus Kommentar entfernt

3 Stimmen

Moment braucht kein jQuery :)

0 Stimmen

In diesem Fall sogar noch besser!!

1 Stimmen

Ja, nachdem ich zu lange mit JS herumgepfuscht habe, habe ich Moment benutzt, und es funktioniert einfach(tm)!

13voto

Rohit.007 Punkte 3304

Sie können JavaScript verwenden, kein jQuery erforderlich:

var someDate = new Date();
var numberOfDaysToAdd = 6;
someDate.setDate(someDate.getDate() + numberOfDaysToAdd); 
Formatting to dd/mm/yyyy :

var dd = someDate.getDate();
var mm = someDate.getMonth() + 1;
var y = someDate.getFullYear();

var someFormattedDate = dd + '/'+ mm + '/'+ y;

0 Stimmen

Ich möchte dafür stimmen, weil diese Antwort den richtigen Monat angibt, da date.getMonth() von 0 bis 11 reicht und um 1 erhöht werden muss, wie in dieser Lösung erwähnt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X