Foros del Web » Programando para Internet » Javascript »

Sumar mes a fecha, 28 de febrero

Estas en el tema de Sumar mes a fecha, 28 de febrero en el foro de Javascript en Foros del Web. Existe alguna forma de sumar 1 mes a una fecha DD/MM/YYYY contenida en un <input> y que a la vez no me tire fechas que ...
  #1 (permalink)  
Antiguo 19/11/2011, 20:50
 
Fecha de Ingreso: septiembre-2007
Mensajes: 150
Antigüedad: 16 años, 7 meses
Puntos: 1
Sumar mes a fecha, 28 de febrero

Existe alguna forma de sumar 1 mes a una fecha DD/MM/YYYY contenida en un <input> y que a la vez no me tire fechas que no existen como el 28/02/YYYY o el 31/04/YYYY es decir meses que solos tienen 30 dias o como febrero que no tiene mas de 28 dias o 29 en años bisiestos.

Saludos.
  #2 (permalink)  
Antiguo 19/11/2011, 22:58
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Sumar mes a fecha, 28 de febrero

buenas,
diría que depende de como tu definas un mes. me refiero, si quieres calcular por una cantidad de días específicos (30 por ejemplo) o si simplemente quieres aumentar a uno directamente el mes actual. en todo caso, utilizaría un objeto Date para que ella misma haga la corrección. sin embargo, puede que obtengas resultados no deseados. por ejemplo, si le sumas un mes a un 31 de enero, el resultado sería un 2 o 3 de marzo porque los días extras que no le pertenece a febrero hace que se desplace al próximo mes.

Código:
d = new Date(2011, 0, 31); // 31 enero 2011 ;
d.setMonth(d.getMonth() +1);
d.toString(); // 3 marzo 2011 ;
si lo que quieres hacer es una validación, entonces debes determinar si el día esta dentro del rango para dicho mes y luego corregir de ser necesario.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: febrero, fecha, input
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:07.