Foros del Web » Programando para Internet » Javascript »

validar fecha mayor

Estas en el tema de validar fecha mayor en el foro de Javascript en Foros del Web. Tengo que resolver lo siguiente: Tengo 2 textbox para hacer una busqueda entre rangos de fechas, alguien sabe como validar que fecha1 sea menor a ...
  #1 (permalink)  
Antiguo 20/07/2006, 16:31
 
Fecha de Ingreso: mayo-2006
Mensajes: 13
Antigüedad: 18 años
Puntos: 0
validar fecha mayor

Tengo que resolver lo siguiente:

Tengo 2 textbox para hacer una busqueda entre rangos de fechas, alguien sabe como validar que fecha1 sea menor a fecha2 ya que de lo contrario se genera un error a la hora de ejecutar el query

por su ayuda gracias!!!!!
  #2 (permalink)  
Antiguo 21/07/2006, 03:57
 
Fecha de Ingreso: febrero-2005
Mensajes: 38
Antigüedad: 19 años, 2 meses
Puntos: 0
Es sencillo , lo puedes hacer de varias maneras ...

puedes meter la fecha en 3 cajas siendo fecha 1 y luego la fecha dos con sus dias meses y año ... y comprar por campos independiente ...

la otra forma es que obligues al usuario a introducirte la fecha de la determinada forma que quieras ... por ejemplo que sea 00/00/2006 etc luego tienes que usar la funcion de separar y voila tienes cada campo separado ... y luego tienes que hacer las funciones para comprar lo que quieres y ya tienes tu resultado ...
  #3 (permalink)  
Antiguo 21/07/2006, 06:24
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61

Haz que javascript trabaje por tí:
<script>
anio1=1990
mes1=4
dia1=23
anio2=1991
mes2=1
dia2=2

fecha1=new Date(anio1,mes1,dia1);
fecha2=new Date(anio2,mes2,dia2);
if(fecha2<fecha1){
alert("Por favor, la fecha2 debe ser posterior a la fecha1")
}
</script>

No sé si quedó claro!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 21/07/2006, 09:55
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
holas,

solo para aclarar algo del script del amigo Karlankas, y es que cuando se hace
Cita:
Date(anio1,mes1,dia1)
el valor que corresponde al mes se le debe restar 1, ya que admite valores entre 0 y 11.

Para este ejemplo funciona igual porque compara dos fechas, pero para utilizalo de otra forma es un dato a tener en cuenta.

saludos.
__________________
by Capitán Buscapina
.
  #5 (permalink)  
Antiguo 21/07/2006, 10:11
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Es cierto, mi Capitán (). Buen punto! Voy tan volado que se me pasa explicar un poco esos detalles...

Gracias por el apunte!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 26/07/2006, 13:36
 
Fecha de Ingreso: mayo-2006
Mensajes: 13
Antigüedad: 18 años
Puntos: 0
investigando en la biblia

pues sip ya pude con la comparacion gracias por sus aportaciones ahora el problema es que sea mayor o sea menor la fecha esta es enviada a la página que recibe el post mi codigo es el siguiente:

function comparar(){

var auxfec1=Date.parse(document.forms[0].variable_1.value);
var auxfec2=Date.parse(document.forms[0].variable_2.value);

if (auxfec1>auxfec2){
alert('fecha1 debe ser mayor que fecha2'); return(false);
}
return(true);
}

<body>
<p>por rango de fechas </p>
<form action="recibe.asp" method="post" name="formularioRangos" target="_self" id="formularioRangos">
Entre el
<input size="10" id="fc_1152731202" type="text" READONLY name="variable_1" title="DD/MM/YYYY" > <input type="button" value="Fecha" onclick="displayCalendarFor('fc_1152731202');">
y el
<input size="10" id="fc_1152731203" type="text" READONLY name="variable_2" title="DD/MM/YYYY" > <input type="button" value="Fecha" onclick="displayCalendarFor('fc_1152731203');">
<input type="submit" name="Submit" value="Buscar" onClick="return comparar();">
</form>
<p>&nbsp; </p>
</body>

por cierto a que se refieren con el hecho de restar un valor 1 al mes?
  #7 (permalink)  
Antiguo 26/07/2006, 16:53
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
cuando se crea un objeto Date
Cita:
fecha1=new Date(anio1,mes1,dia1);
lo que corresponde a dia1 debe ser entre 1 y 31 (si el mes así lo indica) y cuando se refiera a mes1 el valor debe ser entre 0 y 11 (por eso se le debe restar 1)

o una explicacion mas detallada:

Cita:
Objeto DateConsulte también
Operador new | Instrucción var
Requisitos
Versión 1
Permite el almacenamiento básico y la recuperación de fechas y horas.

Cita:
objetoFecha = new Date()
objetoFecha = new Date(valorFecha)
objetoFecha = new Date(año, mes, día[, horas[, minutos[, segundos[,ms]]]])
Argumentos

objetoFecha
Requerido. El nombre de la variable al que se asigna el objeto Date.

valorFecha
Requerido. Si es un valor numérico, valorFecha representa el número de milisegundos en Horario universal coordinado entre la fecha especificada y la medianoche del 1 de enero de 1970. Si es una cadena, valorFecha se procesa de acuerdo con las reglas en el método parse.

año
Requerido. El año completo, por ejemplo 1976 (y no 76).

mes
Requerido. El mes como un entero entre 0 y 11 (de Enero a Diciembre).

día
Requerido. La fecha como un valor entero entre 1 y 31.

horas
Opcional. Se debe proporcionar si se proporciona minutos. Un entero entre 0 y 23 (medianoche a 11 p.m.) que especifica la hora.

minutos
Opcional. Se debe proporcionar si se proporciona segundos. Un entero entre 0 y 59 que especifica los minutos.

segundos
Opcional. Se debe proporcionar si se proporciona milisegundos. Un entero desde 0 hasta 59 que especifica los segundos.

ms
Opcional. Un entero entre 0 y 999 que especifica los milisegundos.
__________________
by Capitán Buscapina
.
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 21:57.