Como adicionar dias à "Data" atual utilizando JavaScript. O JavaScript tem uma função embutida como .Net's AddDay
?
Você pode criar um com:-
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));
Isto cuida de incrementar automaticamente o mês, se necessário. Por exemplo:
8/31 + 1 dia será 9/1.
O problema em utilizar o setDate
diretamente é que é um mutador e esse tipo de coisa é melhor evitado. A ECMA considerou adequado tratar o Date
como uma classe mutável em vez de uma estrutura imutável.
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);
Tem cuidado, porque isto pode ser complicado. Ao definir "amanhã", só funciona porque o seu valor actual corresponde ao ano e mês para "hoje". No entanto, definir um número de data como "32" normalmente ainda funcionará bem para movê-lo para o mês seguinte.
Estas respostas parecem-me confusas, eu prefiro:
var ms = new Date().getTime() + 86400000;
var tomorrow = new Date(ms);
getTime() nos dá milisegundos desde 1970, e 86400000 é o número de milisegundos em um dia. Portanto, ms contém milisegundos para a data desejada.
Usando o construtor de milissegundos dá o objeto da data desejada.