Foros del Web » Programando para Internet » Javascript »

Validar fecha y hora tipo 23/12/2007 23:55:10

Estas en el tema de Validar fecha y hora tipo 23/12/2007 23:55:10 en el foro de Javascript en Foros del Web. Estuve buscando un javascript de validacion de fechas y horas y no consegui nada, solo por separado y realmente no se mucho como juntar las ...
  #1 (permalink)  
Antiguo 03/10/2007, 11:36
 
Fecha de Ingreso: mayo-2005
Mensajes: 31
Antigüedad: 19 años
Puntos: 0
Validar fecha y hora tipo 23/12/2007 23:55:10

Estuve buscando un javascript de validacion de fechas y horas y no consegui nada, solo por separado y realmente no se mucho como juntar las validaciones.

tengo un campo datetime de la forma: 23/12/2007 23:55:10 y necesito validarla antes de que pase a grabar los datos.

Con expresiones regulares un amigo me paso algo, pero lo que necesito es decirle al data entry donde esta la falla.

estoy usando asp y mysql, si alguien me tira algun dato o ya lo hizo, estaria buenisimo, igualmente sigo buscando a ver que puedo hacer.
  #2 (permalink)  
Antiguo 07/10/2007, 09:15
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
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 parseIntcompFecha[0], 10);
var 
mes parseIntcompFecha[1], 10)-1;
var 
anio parseIntcompFecha[2], 10);
var 
hora parseIntcompHora[0], 10);
var 
minuto parseIntcompHora[1], 10);
var 
segundo parseIntcompHora[2], 10);
var 
objFecha = new Dateaniomesdiahoraminutosegundo );
// 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.
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 02:22.