Hola a todos:
En el post anterior vimos como “Sumar o restar días, semanas, meses o años a una fecha con PHP“.
Hoy me han preguntado como sumar días a una fecha desde javascript y he preparado una función con un pequeño ejemplo de como hacerlo.
La función para sumar o restar días a una fecha seria la siguiente:
Actualización: La función original se ha modificado debido a un error que provocaba que no se calculasen correctamente algunas fechas, . (Gracias a Edisson y a Gustavo por el aviso).// Función que suma o resta días a la fecha indicada sumaFecha = function(d, fecha) { var Fecha = new Date(); var sFecha = fecha || (Fecha.getDate() + "/" + (Fecha.getMonth() +1) + "/" + Fecha.getFullYear()); var sep = sFecha.indexOf('/') != -1 ? '/' : '-'; var aFecha = sFecha.split(sep); var fecha = aFecha[2]+'/'+aFecha[1]+'/'+aFecha[0]; fecha= new Date(fecha); fecha.setDate(fecha.getDate()+parseInt(d)); var anno=fecha.getFullYear(); var mes= fecha.getMonth()+1; var dia= fecha.getDate(); mes = (mes < 10) ? ("0" + mes) : mes; dia = (dia < 10) ? ("0" + dia) : dia; var fechaFinal = dia+sep+mes+sep+anno; return (fechaFinal); }
La función recibe como parámetros el número de días que se le quiere sumar y la fecha a la cual que se le van sumar los días.
Si no se le pasa ninguna fecha coge por defecto la fecha actual.
Esta función está pensada para ser usada con fechas en formato dd/mm/aaaa y dd-mm-aaaa. Admite como separador ‘/’ y ‘-‘.
Un ejemplo de llamada seria este:
var fecha = sumaFecha(8,'01/07/2014'); alert(fecha);
En este ejemplo sumaríamos 8 días a la fecha 01/07/2014 sacaría un alert con la fecha ’09/07/2014′.
Espero que os sea de utilidad.