Tengo el siguiente código, para hacer una comparativa entre fechas:
Código:
Esto me muetra un simple alert con los días que hay entre las fechas, que se han introducido en un formulario.
....
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)
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:
Esto muestra 1215863313289 como valor de la fecha 12/06/2008.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());
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.


