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.