Zeitunterschied in Java [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie messe ich die in Java verstrichene Zeit? [Duplikat] 15 Antworten

Warum lautet die Ausgabe des folgenden Java-Codes 04:18:23 und nicht 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();
    }
}

Antworten auf die Frage(3)

Ihre Antwort auf die Frage