if (calPrevisaoAnterior != null) {
// fazer: Previsao do anterior - inicio do proximo, ver quanto tempo tem
System.out.println("Tempos: " + new SimpleDateFormat("dd/MM/yyy HH:mm:ss").format(calPrevisaoAnterior.getTime()) + " - " + new SimpleDateFormat("dd/MM/yyy HH:mm:ss").format(calInicio.getTime()));
long diferenca = calPrevisaoAnterior.getTimeInMillis() - calInicio.getTimeInMillis();
Calendar calDiferenca = new GregorianCalendar();
calDiferenca.setTimeInMillis(diferenca);
int hora = calDiferenca.get(Calendar.HOUR);
int min = calDiferenca.get(Calendar.MINUTE);
int seg = calDiferenca.get(Calendar.SECOND);
System.out.println("Diferenca: "+hora+"h, "+min+"m "+seg+"s");
System.out.println("");
}
Tempos: 04/02/09 12:09:00 - 04/02/09 12:09:00
Diferenca: 9h, 0m 0s
Tempos: 04/02/09 14:02:00 - 05/02/09 08:15:00
Diferenca: 2h, 47m 0s
Tempos: 05/02/09 08:56:00 - 05/02/09 12:56:00
Diferenca: 5h, 0m 0s
Tempos: 05/02/09 15:55:00 - 05/02/09 09:00:00
Diferenca: 3h, 55m 0s
Tempos: 05/02/09 10:59:00 - 05/02/09 20:59:00
Diferenca: 11h, 0m 0s
Veja que por exemplo no primeiro caso era para dar tudo 0 (zero) e não 9hs, afinal de contas são iguais.