Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/07/2008, 05:50
Avatar de bruli
bruli
 
Fecha de Ingreso: mayo-2006
Ubicación: Valencia, Spain, Spain
Mensajes: 77
Antigüedad: 18 años, 11 meses
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.