Cómo añadir días a la Fecha
actual usando JavaScript. ¿Tiene JavaScript una función incorporada como la de .Net's Adday
?
Puedes crear una 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));
Esto se encarga de incrementar automáticamente el mes si es necesario. Por ejemplo:
8/31 + 1 día se convertirá en 9/1.
El problema de usar setDate
directamente es que es un mutador y es mejor evitar ese tipo de cosas. La ECMA consideró oportuno tratar a Date
como una clase mutable en lugar de una estructura inmutable.
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);
Tenga cuidado, porque esto puede ser complicado. Al establecer "mañana", sólo funciona porque su valor actual coincide con el año y el mes de "hoy". Sin embargo, el ajuste a un número de fecha como "32" normalmente seguirá funcionando bien para moverlo al siguiente mes.
Estas respuestas me parecen confusas, prefiero:
var ms = new Date().getTime() + 86400000;
var tomorrow = new Date(ms);
getTime() nos da milisegundos desde 1970, y 86400000 es el número de milisegundos en un día. Por lo tanto, ms contiene milisegundos para la fecha deseada.
Usando el constructor de milisegundos se obtiene el objeto fecha deseado.