die Stunde 12 ist doch schon relativ normiert, da sollte dir was auffallen,
etwa dass es in US zweimal 12 Stunden gibt, 0-12 und 12-24 eigentlich auch 0-12
ein bisschen weiter nachgeschaut:
c.set(Calendar.HOUR_OF_DAY, 0);
usw.
edit:
wenn es MIT set(Hour,0) auf 17.00 geht, dann wäre es natürlich etwas arger,
da kann man sich noch vieles denken etwa verschiedene Zeitzonen zwischen Calendar mit Berechnung und der Ausgabe,
so schlimm ist es aber hoffentlich nicht