Mit Java Version 1.5.0_06 auf Windows und Ubuntu Linux:Java, das Hinzufügen Minuten zu einem Datum, seltsame Anomalie
Immer, wenn ich Minuten auf das Datum „2008.10.05 00:00:00“ hinzufügen, Es scheint, dass eine zusätzliche Stunde falsch hinzugefügt wird.
dh: 360 Minuten Zugabe von 00:00:00 bis 2008/10/05 um Mitternacht bei 2008/10/05 06:00:00
ankommen sollte Aber es 2008.10.05 ankommt 07 : 00: 00
Die völlig verblüffende Sache ist, dass diese ONLY passiert, wenn der Tag 2008/10/05 ist, alle anderen Tage, die ich versuche, die Minuten Addition korrekt durchzuführen.
Werde ich verrückt oder ist das ein Bug in Java?
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
try {
String date = "2008/10/05 00:00:00";
int minutesToAdd = 360; // 6 hrs
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(date));
cal.add(Calendar.MINUTE, minutesToAdd);
System.out.println(cal.getTime());
} catch (ParseException e) {}
Aha - tolle Köpfe denken gleich - +1 :-) – toolkit
Hehehe, yep! Wie auch immer, mein Kommentar zu Neuseeland ist dies, seit dem letzten Jahr wurde die Sommerzeit vom ersten Sonntag im Oktober auf den letzten Sonntag im September verschoben. Da Java 5 schon eine Weile existiert, müssen die Zonendateien tatsächlich aktualisiert werden. –