Foros del Web » Programando para Internet » Javascript »

como pasar de fecha a timestamp?

Estas en el tema de como pasar de fecha a timestamp? en el foro de Javascript en Foros del Web. Hola Tengo un formulario con dos campos de fechas, y necesito validar que la primera sea menor a la segunda. Logre hacerlo usando Date.parse y ...
  #1 (permalink)  
Antiguo 15/09/2011, 11:24
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Antigüedad: 16 años, 10 meses
Puntos: 0
como pasar de fecha a timestamp?

Hola

Tengo un formulario con dos campos de fechas, y necesito validar que la primera sea menor a la segunda.
Logre hacerlo usando Date.parse y comparando los resultados, pero por alguna razon Date.parse no me funciona en chrome.

Este es el codigo que estoy usando:

var fechainicio = Date.parse($("#TxtFecha_inicio").val());
var fechafin = Date.parse($("#TxtFecha_fin").val());
if(fechainicio>=fechafin){
alert("La fecha de inicio no puede ser mayor a la fecha de fin");
}else{
document.getElementById('PostBackAction').value = 'Guardar';
AjaxRequest('', '', 'frmBackOffice', sIdsEtiquetasError);
}

Ejemplo de formato de fecha: 15/09/2011 14:12:00

Funciona bien en todos los navegadores excepto en chrome, que devuelve "Nan" al hacer el parse.

Como puedo solucionar esto?

Gracias
  #2 (permalink)  
Antiguo 15/09/2011, 16:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: como pasar de fecha a timestamp?

buenas,
Date.parse funciona en todos los navegadores. de hecho, el método parse es estandar en el sentido de que ECMAScript-262 lo incluye como parte de él. sin embargo, el problema de parse es que es dependiente de cada implementación. lo que quiere decir es que el proceso de análisis no esta estandarizado, sino que cada implementación decide el proceso. el caso de chrome me parece que se debe a que la fecha siempre la analiza en formato americano y no considera el string como una fecha válida. recuerda que en el formato americano es mes/dia/año. si te fijas el mes no es válido. firefox también utiliza el formato americano, solo que cuando encuentra que uno de los valores excede el límite, automáticamente lo va agregando a la fecha. por ejemplo, si indicas 50 horas, las horas se traducen a un valor dentro de sus límites (2 horas) y el extra se convierte en dias (+2 dias). quizas, lo mejor que puedes hacer es tu mismo analizar el formato y luego pasar cada componente al constructor Date.

nota: las pruebas las hice en un sistema operativo y navegador de distribución para la región americana. no estoy seguro si este factor puede cambiar por el idioma y distribución por región.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: fecha, pasar, formulario
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 13:56.