Utilzar uma API externa nem sempre é a melhor solução. Pode até ser desconhecimento da API JodaTime, mas o cara que usa uma API dessa tem o desconhecimento da linguagem Java :). Usa uma API com 1000coisas e usar so 1 é desnecessário. basta fazer isso:
long dias = (dataMaior.getTime() - dataMenor.getTime()) / 1000 / 60 / 60 / 24;
Quem quer saber o q é os 1000, 60 e 24 é so rever a thread q o Paulo Silveira explica isso no começo.
SimpleDateFormat sdf = new SimpleDateFormat(“dd/mm/yyyy”);
try {
Date date2 = new Date();
System.out.println(date2);
Date date1 = (java.util.Date)sdf.parse(dtObito);
System.out.println(date1);
System.out.println(dtObito);
long differenceMilliSeconds = date2.getTime() - date1.getTime();
System.out.println("diferenca em milisegundos: " + differenceMilliSeconds);
System.out.println("diferenca em segundos: " + (differenceMilliSeconds/1000));
System.out.println("diferenca em minutos: " + (differenceMilliSeconds/1000/60));
System.out.println("diferenca em horas: " + (differenceMilliSeconds/1000/60/60));
System.out.println("diferenca em dias: " + (differenceMilliSeconds/(10006060*24)));
} catch (RuntimeException e) {
e.printStackTrace();
} [/code]
Esta é a minha saida:
[quote]
Fri Jun 15 17:45:37 BRT 2012
Tue Jan 10 00:06:00 BRST 2012
10/06/2012
diferenca em milisegundos: 13631977437
diferenca em segundos: 13631977
diferenca em minutos: 227199
diferenca em horas: 3786
diferenca em dias: 157[/quote]
Reparem que a data que informo no formulário anterior é “10/06/2012”, ou seja este é o valor do meu request.getParameter(“dataobito”)
Se mando pro console o conteúdo da variável vai certo (String)…
Se faço o cast muda para outra data (2ª linha da saída no console)