Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/11/2011, 01:57
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: obtener los dias que hay entre dos fechas

Hola:

El código debe funcionar bien pero sólo hay que tener en cuenta un par de detalles.

las fechas deben tener la misma hora (normalmente 00:00:00, pero puede ser la que quieras). Si cada una tiene una hora distinta, puede salirte un día de más o de menos (desde hoy a las 00:00:01 a mañana a las 23:59:59 hay prácticamente dos días de diferencia, mientras que de hoy a las 23:59:59 a mañana a las 00:00:01 sólo hay un par de segundos).

No uses double, ni Math.floor(), usa long para todo directamente

Si no te va, pon un ejemplo concreto que te salga mal para ver qué es.

El cómo funciona es fácil, los Date.getTime() te devuelve el número de milisegundos que han transcurrido desde el 1 de Enero de 1970 a las 00:00:00 hasta la fecha/hora en cuestión.
Si restas esos milisegundos obtenidos de dos fechas, obtienes el número de milisegundos de diferencia que hay entre esas dos fechas.
Si divides esa diferencia entre 1000, obtienes el número de segundos de diferencia entre las dos fechas, si ahora divides entre 60 obtienes el número de minutos, si vuelves a dividir entre 60 son las horas y si divides entre 24 obtienes los días.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 29/11/2011 a las 02:03