Ich muss in der Lage sein, 1, 2, 5 oder 10 Tage zum heutigen Datum mit jQuery hinzuzufügen.
Wie bei den meisten Dingen in Javascript ist die eingebaute Datumsverarbeitung extrem leistungsfähig, aber völlig unintuitiv.
Ich muss in der Lage sein, 1, 2, 5 oder 10 Tage zum heutigen Datum mit jQuery hinzuzufügen.
Wie bei den meisten Dingen in Javascript ist die eingebaute Datumsverarbeitung extrem leistungsfähig, aber völlig unintuitiv.
@Joel: Ich stimme zu, es ist ein Kopfschüttler, der setDate()
. Nicht-intuitiv ist eine gute Beschreibung.
Oder, um es weiter zu vereinfachen, für 5 Tage: let myDate = new Date(Date.now() + 5 * 86400000);
Sie könnten das Javascript Date-Objekt wie folgt erweitern
Date.prototype.addDays = function(days) {
this.setDate(this.getDate() + parseInt(days));
return this;
};
und in Ihrem Javascript-Code könnten Sie aufrufen
var currentDate = new Date();
// to add 4 days to current date
currentDate.addDays(4);
Das wird nicht funktionieren... wenn man Tage hinzufügt, werden daraus seltsame Jahre und Monate.
@Ferryvandenheuvel: Das stimmt nicht. Die vorgeschlagene Methode funktioniert vollkommen problemlos.
@Ferryvandenheuvel hatte Recht, denn Krishnas Lösung braucht eine kleine, aber wichtige Verbesserung, um sicher zu sein, wenn die Tage als String statt als Ganzzahl angegeben werden: siehe meinen Kommentar unten stackoverflow.com/a/20468397/2732083
Um ein formatiertes Datum zurückzugeben, verwenden Sie diese **** return (returndate.getMonth() + 1) + "/" + returndate.getDate() + "/" + returndate.getFullYear();
Gemäß dem Kommentar von Jancha zu dieser Funktion: Wenn Sie Tage über die DTS-Grenze hinaus hinzufügen, erhalten Sie ein falsches Datum/Zeit-Ergebnis. So ist das beste, etablierte Datum Bibliothek wie momentjs zu verwenden.
Moment.js
Installieren Sie moment.js
von aquí .
npm : $ npm i --save moment
Laube : $ bower install --save moment
Nächste,
var date = moment()
.add(2,'d') //replace 2 with number of days you want to add
.toDate(); //convert it to a Javascript Date Object if you like
Link Ref : http://momentjs.com/docs/#/manipulating/add/
Moment.js
ist eine erstaunliche Javascript-Bibliothek zur Verwaltung von Date-Objekten und extrem leichtgewichtig bei 40kb
.
Viel Glück!
40kb sind kein Problem, sie werden im Browser zwischengespeichert, so dass die Downloadzeit nur beim ersten Aufruf der Seite gilt. Nutzer mit einer Breitbandverbindung werden keinen Unterschied bemerken.
@stackdave hängt von der Intensität ab. Einfach ein paar Tage hinzufügen, ja. Komplexe Datumslogik verwalten, nein.
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.