Inicio > Desarrollo, General > Obtener Diferencia de Días en Java

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.

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.

Anuncios
Categorías:Desarrollo, General Etiquetas: , ,
  1. judith
    mayo 29, 2012 en 2:35 pm

    //Se usa cuando la diferencia de años es mayor a 0

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: