Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/07/2009, 22:26
Fenris
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: Validar Rangos de Fecha

Hola r0xdrig0

Te planteo la siguiente solución, que me ha dado buenos resultados, trabaja las comparaciones de fechas en su formato timestamp de esa forma solo usas una simple resta para saber que fecha es mayor, destaco que el código no es mio.

JAVASCRIPT

Código:
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
  function TimeToTimeStamp()
  {
    var timestamp = new Date(Date.UTC(document.miform.inYear.value,
          (stripLeadingZeroes(document.miform.inMon.value)-1),
          stripLeadingZeroes(document.miform.inDay.value),
          stripLeadingZeroes(document.miform.inHr.value),
          stripLeadingZeroes(document.miform.inMin.value),
          stripLeadingZeroes(document.miform.inSec.value)));

    document.miform.result.value = (timestamp.getTime()/1000.0);
  }

  function stripLeadingZeroes(input)
  {
    if((input.length > 1) && (input.substr(0,1) == "0"))
      return input.substr(1);
    else
      return input;
  }
  
  function comparaFecha (ts1,ts2)
  {
	msg =  (ts1>ts2)?'Fecha Ingresada es mayor que fecha actual': 'Fecha actual es mayor que fecha ingresada';
  	alert(ts1 + ' - ' + ts2 + ' = '+ msg);
	
  }
//  End -->
</script>
Luego en la parte del HTML, solo tienes que crear u campo oculto donde coloques mediante PHP la fecha/hora tambien en timestamp y esto lo consigues utilizando la funcion strtotime(fecha/hora), yo asumo en esto que tu calendario te entregara fecha y hora

HTML + Campo Oculto + PHP

Código:
input type="hidden" name="fecha_actual" value="<?php echo strtotime(date("d-m-Y h:i:s")); ?>" />
Y para finalizar invocas a la funcion desde algun boton para que en primer lugar genera el timestamp con la fecha que entregas en tu calendario y un segundo boton que haga la comparacion de estas.

Código:
<input type="button" value="Submit" onClick="TimeToTimeStamp();">
Código:
<input type="button" value="Compara" onClick="comparaFecha(document.miform.result.value, document.miform.fecha_actual.value);">
Espero te sirva

Nota: Este mismo procedimiento lo usas para los dos casos que consultas
Saludos

Fenris