Foros del Web » Programando para Internet » Javascript »

sumar meses a una fecha

Estas en el tema de sumar meses a una fecha en el foro de Javascript en Foros del Web. Hola!! tengo una fecha... "11/02/06" quiero sumarle 4 meses.. alguien tiene algun script porahi? saludos!...
  #1 (permalink)  
Antiguo 11/10/2005, 13:09
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
sumar meses a una fecha

Hola!!
tengo una fecha... "11/02/06"
quiero sumarle 4 meses.. alguien tiene algun script porahi?
saludos!
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 11/10/2005, 13:20
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 6 meses
Puntos: 5
Cita:
Iniciado por dieguicho
Hola!!
tengo una fecha... "11/02/06"
quiero sumarle 4 meses.. alguien tiene algun script porahi?
saludos!
busca en los FAG's... yo saque eso mismo de ahi....
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #3 (permalink)  
Antiguo 13/10/2005, 16:59
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 20 años, 1 mes
Puntos: 3
Hola, dieguicho
No estoy muy seguro de como se pueden sumar 4 meses, pero puedes empezar analizando la fecha con este código de validación:
Código PHP:
Validar fecha:
<
script>
function 
esFecha(formu)
{
    var 
elDia=formu.txt_dia.value
    
var elMes=formu.txt_mes.value-1
    
var elAnio=formu.txt_anio.value
    
var ff = new Date(elAnioelMeselDia)
    if ( 
ff.getDate() != elDia ) return false
    
if ( ff.getMonth() != elMes ) return false
    
if ( ff.getFullYear() != elAnio ) return false
    
return true
}
</script>
<form>
<input type="text" name="txt_dia" size="4">/
<input type="text" name="txt_mes" size="4">/
<input type="text" name="txt_anio" size="4">
<input type="button" value="Validar fecha" onClick="alert(esFecha(this.form))">
</form> 
Creo que es posible que sumes 4 meses sumando a la variable ff el número de milisegundos de los 4 meses: 4*30*24*3600*1000 No, claro, eso no son 4 meses exactos. Quizás con ff = new Date(elAnio, elMes+4, elDia) La clave está en si, por ejemplo, octubre+4 se convierte en febrero
Prueba un poco (ahora no tengo tiempo), creo que puede ir por ahí. Javascript se encarga de entender las fechas correctas.
Suerte
__________________
Angel :cool:
  #4 (permalink)  
Antiguo 14/10/2005, 09:23
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
los meses empiezan por cero asi que mes - fecha.getMonth() - 1
y ahi lo solucione...
graciassssssss
__________________
On error no hago nada porque deje de fumar...
  #5 (permalink)  
Antiguo 14/10/2005, 10:38
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Buenas
Cita:
Iniciado por dieguicho
quiero sumarle 4 meses.. alguien tiene algun script porahi?
Cita:
los meses empiezan por cero asi que mes - fecha.getMonth() - 1
y ahi lo solucione...


quieres sumar 4 meses y lo solucionas restando 1?
  #6 (permalink)  
Antiguo 14/10/2005, 13:35
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
jajaajaj no.. esa era una parte de la solucion y habia que sumarle uno no restarle. lo dije mal.
les dejo el script entero. por si a alguien lo sirve.. igual es parecido al que esta en las faqs

function modificarVigencia(periodo){
switch(parseInt(periodo)){case 1: meses = 4; break; case 2: meses = 6; break; case 3: meses = 12; break; case 0: meses = 0; break }
var fechaActual = new Date();
var diaActual = parseInt(fechaActual.getDate());
var anioActual = parseInt(fechaActual.getFullYear());
var mesActual = parseInt(fechaActual.getMonth()+1);
var vigenciaHastaDia = document.getElementById("hastaDia");
var vigenciaHastaMes = document.getElementById("hastaMes");
var vigenciaHastaAnio = document.getElementById("hastaAnio");
var setearDia = diaActual;
var setearMes = mesActual;
var setearAnio = anioActual;

if(parseInt(meses)>0){
for (var i=mesActual;i<mesActual+parseInt(meses)+1;i++){
if (i == 13){
setearMes = 1;
setearAnio += 1;
} else {
setearMes += 1;
}
}

vigenciaHastaDia.value=setearDia;
vigenciaHastaMes.value=setearMes;
vigenciaHastaAnio.value=setearAnio;
} else {
vigenciaHastaDia.selectedIndex=0;
vigenciaHastaMes.selectedIndex=0;
vigenciaHastaAnio.selectedIndex=0;
}
}
__________________
On error no hago nada porque deje de fumar...
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 18:23.