Obtener Diferencia de Días en Java
Esta vez tengo algo un poco más sencillo pero que en muchos casos es necesario, bueno al menos en mi caso tuve la necesiadad de investigar como hacer el simple procedimiento de conocer el número de días que exitían entre 2 fechas sin importar el número de años, y debido a eso genere esta función que hace uso de los Objetos GregorianCalendar.
GregorianCalendar dateTemp = new GregorianCalendar(date1.get(Calendar.YEAR), date1.get(Calendar.MONTH), date1.get(Calendar.DAY_OF_MONTH)); //Se usa cuando la diferencia de años es mayor a 1
int diff = 0;
int dias = 0;
diff = date2.get(Calendar.YEAR) – date1.get(Calendar.YEAR);
if (diff == 0) {
dias = date2.get(Calendar.DAY_OF_YEAR)
- date1.get(Calendar.DAY_OF_YEAR);
} else if (diff > 0) {
dias = date1.isLeapYear(date1.get(Calendar.YEAR)) ? 366 – date1.get(Calendar.DAY_OF_YEAR) : 365 – date1.get(Calendar.DAY_OF_YEAR);
for (int i = 1; i < diff; i++) {
dateTemp.add(Calendar.YEAR, 1);
dias += dateTemp.isLeapYear(dateTemp.get(Calendar.YEAR)) ? 366: 365;
}
dias += date2.get(Calendar.DAY_OF_YEAR);
}
return dias;
}
Ya saben cualquier duda y/o comentario es bien recibido =D.