Come aggiungere giorni alla Data
corrente usando JavaScript. JavaScript ha una funzione integrata come .Net AddDay
?
Potete crearne uno con:-
Date.prototype.addDays = function(days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
}
var date = new Date();
alert(date.addDays(5));
Questo si occupa di incrementare automaticamente il mese, se necessario. Per esempio:
8/31 + 1 giorno diventerà 9/1.
Il problema di usare direttamente setDate
è che è un mutatore e questo genere di cose è meglio evitarle. ECMA ha ritenuto opportuno trattare Date
come una classe mutabile piuttosto che una struttura immutabile.
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);
Fate attenzione, perché questo può essere complicato. Quando si imposta "domani", funziona solo perché il suo valore attuale corrisponde all'anno e al mese per "oggi". Tuttavia, impostando un numero di data come "32" normalmente funzionerà ancora bene per spostarlo al mese successivo.
Queste risposte mi sembrano confuse, preferisco:
var ms = new Date().getTime() + 86400000;
var tomorrow = new Date(ms);
getTime() ci dà i millisecondi dal 1970, e 86400000 è il numero di millisecondi in un giorno. Quindi, ms contiene i millisecondi per la data desiderata.
Usando il costruttore di millisecondi si ottiene l'oggetto data desiderato.