Foros del Web » Programando para Internet » Javascript »

validar que fecha este entre dos fechas

Estas en el tema de validar que fecha este entre dos fechas en el foro de Javascript en Foros del Web. hola a todos necesito urgente algo de ayuda.... sucede que necesito un código en javascrip que valide que una fecha este entre dos fechas.... ¿alguien ...
  #1 (permalink)  
Antiguo 04/11/2008, 00:31
Avatar de fbirrer  
Fecha de Ingreso: enero-2006
Ubicación: Santiago de Chile
Mensajes: 329
Antigüedad: 18 años, 3 meses
Puntos: 0
validar que fecha este entre dos fechas

hola a todos

necesito urgente algo de ayuda....
sucede que necesito un código en javascrip que valide que una fecha este entre dos fechas....

¿alguien tiene una idea de como hacerlo?

Gracias
__________________
Desde Santiago de Chile
Grupo Universite
Información sobre los Institutos Chilenos de Educación
www.universite.cl
  #2 (permalink)  
Antiguo 04/11/2008, 01:31
 
Fecha de Ingreso: noviembre-2008
Mensajes: 39
Antigüedad: 15 años, 5 meses
Puntos: 0
Busqueda Respuesta: validar que fecha este entre dos fechas

no lo he probado pero mas o menos debe ser asi.


fechaANTERIOR=new Date(año,mes,dia);
fechaComprobar=new Date(año,mes,dia);
fechaDESPUES=new Date(año,mes,dia);

if(fechaANTERIOR<fechaComprobar<fechaDESPUES){
return true;
}else{
return false;
}
  #3 (permalink)  
Antiguo 04/11/2008, 02:14
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 6 meses
Puntos: 66
Respuesta: validar que fecha este entre dos fechas

Hola fBirrer,
Prueba con esto:

function comprobarFecha(fechaAnterior,fechaPosterior,fecha)
{

var fAnt = new Date(fechaAnterior.value);
var fPos = new Date(fechaPosterior.value);
var fAct = new Date(fecha.value);

if(fAct > fAnt && fAct < fPos)
alert("está entre fechas");
else
alert("fuera de fechas");
}

Tendrás que jugar un poquito con el tema de fechas porque en javascript primero va el mes, luego el día y luego el año. no sé si habrá forma de adaptarlo a las fechas en 'cristiano', pero bueno, el código que detecta si una fecha dada está entre otras dos fechas es ese.
Salu2.
  #4 (permalink)  
Antiguo 04/11/2008, 04:35
 
Fecha de Ingreso: noviembre-2008
Mensajes: 39
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: validar que fecha este entre dos fechas

no da error declarar asi los tipo date pero las interpreta mal. luego se me olvido que el mes hay que restarle 1 porque van de 0 a 11.

fecha=new Date(año,mes-1,dia);
  #5 (permalink)  
Antiguo 04/11/2008, 04:46
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 6 meses
Puntos: 66
Respuesta: validar que fecha este entre dos fechas

Po zi, tienes razon sachablade con lo del mes. Lo de la interpretación de código hasta ahí no llego...
el caso es que si lo pruebas funciona, no sé hasta que punto puede interferir la interpretación de código en una función simple como esta pero siempre es mejor tener un codigo depuradito y bien escrito.
Salu2
  #6 (permalink)  
Antiguo 04/11/2008, 07:46
 
Fecha de Ingreso: noviembre-2008
Mensajes: 39
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: validar que fecha este entre dos fechas

ese tipo de construcción lo interpreta como texto. por ejemplo

"04/11/2008"<"06/11/2008" = cierto pero
"04/11/2008"<"06/11/2007" =cierto <-- seria incorrecto porque el valor mas significativo está en la posición menos significativa, los guiris no han pensado en ese formato de fecha para nosotros para constructores. xD.

lo hice la semana pasada en el curro y me daba errores cuando comprobaba meses u años diferentes.
lo que tube que hacer fue un split("/") y meter cada campo en su sitio, ahora tira bien.

saludos
  #7 (permalink)  
Antiguo 04/11/2008, 07:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: validar que fecha este entre dos fechas

No necesitas el split si le pasas al constructor directamente la fecha en formato mm/dd/yyyy.
Código javascript:
Ver original
  1. var fecha = new Date("11/04/2008");
Saludos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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:07.