Diferencia de tiempo en Java [duplicado]
Esta pregunta ya tiene una respuesta aquí:
¿Cómo mido el tiempo transcurrido en Java? [duplicar] 15 respuestas¿Por qué la salida del código Java a continuación es 04:18:23 y no 03:18:23?
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
try {
Date start = sdf.parse("00:44:16");
Date end = sdf.parse("04:02:39");
long duration = end.getTime() - start.getTime();
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(duration);
System.out.println(sdf.format(cal.getTime()));
} catch (ParseException e) {
e.printStackTrace();
}
}