Hola a todos, escribi un codigo para calcular la diferencia de dias entre dos fechas, pero me presenta problemas cuando calculo para dos fechas en particular
Código:
public long diasDifferencia(String fechaInit, String fechaEnd){
String[] dateInit = fechaInit.split("/");
String[] dateEnd = fechaEnd.split("/");
Date dInit = new GregorianCalendar(yInit, Integer.parseInt(dateInit[1])-1, Integer.parseInt(dateInit[0])).getTime();
Date dEnd = new GregorianCalendar(yEnd, Integer.parseInt(dateEnd[1])-1, Integer.parseInt(dateEnd[0])).getTime();
long diff = (dEnd.getTime() - dInit.getTime())/(1000 * 60 * 60 * 24);
return diff;
}
cuando ejecuto el codigo en consola todo marcha bien excepto para marzo y abril:
Código:
System.out.println(diasDifferencia("02/01/2001","02/01/2002"));
// resultado: 365 (bien)
System.out.println(diasDifferencia("02/01/2002","31/03/2002"));
// resultado: 88 (bien)
System.out.println(diasDifferencia("02/01/2002","01/04/2002"));
// resultado: 88 (mal)
El resultado para el "01/04/2002" deberia ser 89 y lo toma como si fuera el ultimo dia de marzo. No identifico el error.
Gracias de antemano por su ayuda.