Archivo

Artículos etiquetados y‘calendar’

Obtener Diferencia de Días en Java

enero 10, 2011 Deja un comentario

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.

static int obtenerDiferenciaDias(GregorianCalendar date1, GregorianCalendar date2) {
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.

Categorías:Desarrollo, General Etiquetas: , ,
Seguir

Get every new post delivered to your Inbox.

Únete a otros 44 seguidores