Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/10/2007, 09:15
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 23 años
Puntos: 45
Re: Validar fecha y hora tipo 23/12/2007 23:55:10

Hola:

Yo para casos de fechas (sobre todo con formato complicado) suelo extraer todos los componentes (dia, mes, año, hora, minuto y segundo) y crear un objeto Date() con ellos. Después comparo todos los componentes por los que devuelve Date() (que el motor de javascript habrá ajustado) y sabré si esa fecha existe y está correcta:

Podría ser algo así:
Código PHP:
var strFecha = "23/12/2007 23:55:10";
// Obtención de los componentes
var compFechaHora = strFecha.split(" ");
var 
compFecha = compFechaHora[0].split("/");
var 
compHora = compFechaHora[1].split(":");
var 
dia = parseInt( compFecha[0], 10);
var 
mes = parseInt( compFecha[1], 10)-1;
var 
anio = parseInt( compFecha[2], 10);
var 
hora = parseInt( compHora[0], 10);
var 
minuto = parseInt( compHora[1], 10);
var 
segundo = parseInt( compHora[2], 10);
var 
objFecha = new Date( anio, mes, dia, hora, minuto, segundo );
// Ahora que tengo todos los componentes y el objFecha, paso a la comprobación
var fechaCorrecta = ( dia == objFecha.getDate() );
fechaCorrecta = fechaCorrecta && ( mes == objFecha.getMonth() );
fechaCorrecta = fechaCorrecta && ( anio == objFecha.getFullYear() );
fechaCorrecta = fechaCorrecta && ( hora == objFecha.getHours() );
fechaCorrecta = fechaCorrecta && ( minuto == objFecha.getMinutes() );
fechaCorrecta = fechaCorrecta && ( segundo == objFecha.getSeconds() );

document.write(fechaCorrecta); 
Luego para alertar dónde fallamos sólo hay que meter condicionales por todas partes.



Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.