Hallo!
Ich hoffe einer kann mir bei folgendem Problem helfen. Ich habe eine Methode geschrieben, welche die Anzahl
der Tage zwischen 2 beliebigen Daten zurückliefert. Dazu rechne ich aus der Differenz der Millisekunden der
Date-Objekte die Tage aus.
Durch Zufall sind wir nun auf ein Problem gestoßen.
Hier ein Code-Schnipsel:
Warum kommen hier "nur" 82800000 Millisekunden (also 23 Stunden) heraus :bahnhof:
Ich dividiere die Millisekunden dann mit (1000 * 60 * 60 * 24) und caste das ganze auf int.
Durch die "fehlende" Stunde kommt dann allerdings ein Tag zuwenig heraus.
30 + 31 März 2007 sowie jedes andere Datum funktionieren. Alle Zeiträume die über den 31. März 2008
gehen weisen diesen Fehler auf.
Java-Version: 1.5.0_12
Hat vielleicht jemand eine Idee?
Ich hoffe einer kann mir bei folgendem Problem helfen. Ich habe eine Methode geschrieben, welche die Anzahl
der Tage zwischen 2 beliebigen Daten zurückliefert. Dazu rechne ich aus der Differenz der Millisekunden der
Date-Objekte die Tage aus.
Durch Zufall sind wir nun auf ein Problem gestoßen.
Hier ein Code-Schnipsel:
Code:
GregorianCalendar gc = new GregorianCalendar(2008,2,30);
long l1 = gc.getTimeInMillis();
GregorianCalendar gc2 = new GregorianCalendar(2008,2,31);
long l2 = gc2.getTimeInMillis();
System.out.println(l2-l1);
Warum kommen hier "nur" 82800000 Millisekunden (also 23 Stunden) heraus :bahnhof:
Ich dividiere die Millisekunden dann mit (1000 * 60 * 60 * 24) und caste das ganze auf int.
Durch die "fehlende" Stunde kommt dann allerdings ein Tag zuwenig heraus.
30 + 31 März 2007 sowie jedes andere Datum funktionieren. Alle Zeiträume die über den 31. März 2008
gehen weisen diesen Fehler auf.
Java-Version: 1.5.0_12
Hat vielleicht jemand eine Idee?