Foros del Web » Programando para Internet » Javascript »

Error incomprensible comparando fechas.

Estas en el tema de Error incomprensible comparando fechas. en el foro de Javascript en Foros del Web. Hola a todos. Tengo el siguiente código, para hacer una comparativa entre fechas: Código: .... var fecha1= document.forms[valor].desde.value; var dia1= fecha1.substr(0,2); var mes1= fecha1.substr(3,2); var ...
  #1 (permalink)  
Antiguo 07/07/2008, 05:50
Avatar de bruli  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia, Spain, Spain
Mensajes: 77
Antigüedad: 18 años
Puntos: 2
Error incomprensible comparando fechas.

Hola a todos.

Tengo el siguiente código, para hacer una comparativa entre fechas:

Código:
	
....
       var fecha1= document.forms[valor].desde.value;
	var dia1= fecha1.substr(0,2);
	var mes1= fecha1.substr(3,2);
	var anyo1= fecha1.substr(6,4);

	var fecha2= document.forms[valor].hasta.value;
	var dia2= fecha2.substr(0,2);
	var mes2= fecha2.substr(3,2);
	var anyo2= fecha2.substr(6,4);

	var nuevafecha1= new Date();
	var nuevafecha2= new Date();

	var Dif
	var dias

	nuevafecha1.setDate(dia1);
	nuevafecha1.setMonth(mes1);
	nuevafecha1.setFullYear(anyo1);

	nuevafecha2.setDate(dia2);
	nuevafecha2.setMonth(mes2);
	nuevafecha2.setFullYear(anyo2);

	Dif= nuevafecha2.getTime() - nuevafecha1.getTime();
	dias= Math.floor(Dif/(1000*24*60*60));

	alert(dias)
Esto me muetra un simple alert con los días que hay entre las fechas, que se han introducido en un formulario.

El problema es cuando en el campo "hasta" del formulario, se ha introducido una fecha del mes de diciembre, es decir 12. Por ejemplo. 21/12/2008.

Parece ser que javascript recoge ese valor como inferior.

Ejemplo.

Para este código.

Código:
var fecha1= document.forms[valor].desde.value;
	var dia1= fecha1.substr(0,2);
	var mes1= fecha1.substr(3,2);
	var anyo1= fecha1.substr(6,4);
var nuevafecha1= new Date();
nuevafecha1.setDate(dia1);
	nuevafecha1.setMonth(mes1);
	nuevafecha1.setFullYear(anyo1);
alert(nuevafecha1.getTime());
Esto muestra 1215863313289 como valor de la fecha 12/06/2008.
Pero muestra 1200142154207 como valor de la fecha 12/12/2008.

Es decir, que la fecha de diciembre es inferior a la fecha de junio. Eso no es posible.

¿Alguna idea?.

Gracias a todos.
__________________
------
Saludos.
  #2 (permalink)  
Antiguo 07/07/2008, 06:00
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error incomprensible comparando fechas.

Los meses van de 0 a 11. Enero es el mes 0. Diciembre es el mes 11.

Tendrás que restar 1 a lo que saques del campo.
  #3 (permalink)  
Antiguo 07/07/2008, 07:26
Avatar de bruli  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia, Spain, Spain
Mensajes: 77
Antigüedad: 18 años
Puntos: 2
Respuesta: Error incomprensible comparando fechas.

Cita:
Iniciado por venkman Ver Mensaje
Los meses van de 0 a 11. Enero es el mes 0. Diciembre es el mes 11.

Tendrás que restar 1 a lo que saques del campo.
Efectivamente, ese era el problema.

Muchas gracias.
__________________
------
Saludos.
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 00:13.