public int intervalo(){
Calendar calendar = Calendar.getInstance() ;
calendar.setTime(begin);
int b = calendar.get(Calendar.DAY_OF_YEAR);
calendar.setTime(end);
int e = calendar.get(Calendar.DAY_OF_YEAR);
return e-b;
}
Soh q, por pegar o dia relativo ao ano, se eu tiver duas datas com anos diferentes, o cálculo será incorreto…
Embora seja simples fazer uma lógica pra resolver isso, naum toh cum mt tempo pra brincar cum isso agora… então alguém sabe de algum método existente q facilite o trabalho??? :roll:
fica facil implementar e vc receberá a diferença em dias entre as 2 datas
PS:. não tinha como vc entender eu escrevi errado : era pra ser " a diferença entra os anos correspondentes" heheheh e faltou ainda multiplicar por 365 ahuahua
Patty, a classe GregorianCalendar tem um metodo q informa se um ano é bissexto o isLeapYear(ano)
Ai nesse caso acho que uma soma seria mais viavel que uma multiplicação como o Victor sugeriu.
dif = anoFinal - anoInicial
for (int i = anoInicial; i<anoFinal; i++){
if (cal.isLeapYear(i)) {
// é bisexto
dias += 366;
}else{
//não é bisexto
dias += 365;
}
}
//depois vc soma a diferença entre os dias
Só da uma arrumada, pq eu escrevi o codigo meio correndo e não cheguei a testar, mas acredito que seja +/- isso, ok?