Pensando numa maneira simples de realizar isso seria criar um novo SimpleDateFormat com um pattern de apenas os segundos para formatar apenas o resultado
public static void main(String[] args) {
try {
Calendar data = Calendar.getInstance();
long ini = data.getTimeInMillis();
Thread.sleep(100 * 60);
Calendar data2 = Calendar.getInstance();
long fim = data2.getTimeInMillis();
System.out.println("resultado da subtração é: " + (fim - ini));
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
SimpleDateFormat sdfResultado = new SimpleDateFormat("ss");
System.out.println(fim + " - " + ini);
System.out.println(sdf.format(fim) + " - " + sdf.format(ini));
System.out.println("formatado: " + sdfResultado .format((fim - ini)));
} catch (Exception e) {
e.printStackTrace();
}
}
Eu só não entendi o porque que a saída é essa
08:29:25 - 08:29:19
formatado: 09:00:06
porque 08:29:25 - 08:29:19 devia ser 00:00:06 e não 09:00:06 oO
voce viu que eu seto um calendar com as datas zeradas na maneira qeu eu disse que deu certo…
é por que o calendario nao do java nao é 100% “redondinho” tem suas imperfeições eu acredito.
entao depois que eu zero ele funciona
mas e não me adiantaria ter somente os minutos
pois o sleep nunca sera o mesmo
pode aumentar e tenho que calcular horas e minutos
blz!