Hallo,
ich habe in einem Buch und durch eigenes Denken versucht die Differenz von zwei Daten in Tagen (GregorianCalender) über die Millisekunden zu berechnen.
Die Daten sind einmal der 21.1.2013 und der 31.3.2013 (d2=1364684400000 - d1=1358722800000)
und
der 21.1.2013 und der 1.4.2013 ( d2=1364767200000 - d1=1358722800000)
die Ergebnisse sind volgende:
(1364684400000 - 1358722800000) / 86400000 =69
(1364767200000 - d1=1358722800000) / 864000000 =69,9583333333
Wenn ich hier über int die Nachkommastellen abschneide erhalte ich beide male 69 Tage.
Wie kann ich diesen Fehler vermeiden?
Hier meine Methode:
Danke schon mal !!!
ich habe in einem Buch und durch eigenes Denken versucht die Differenz von zwei Daten in Tagen (GregorianCalender) über die Millisekunden zu berechnen.
Die Daten sind einmal der 21.1.2013 und der 31.3.2013 (d2=1364684400000 - d1=1358722800000)
und
der 21.1.2013 und der 1.4.2013 ( d2=1364767200000 - d1=1358722800000)
die Ergebnisse sind volgende:
(1364684400000 - 1358722800000) / 86400000 =69
(1364767200000 - d1=1358722800000) / 864000000 =69,9583333333
Wenn ich hier über int die Nachkommastellen abschneide erhalte ich beide male 69 Tage.
Wie kann ich diesen Fehler vermeiden?
Hier meine Methode:
Java:
public int getDatumDiferenz(GregorianCalendar istDatum) {
long d2 = istDatum.getTimeInMillis();
System.out.println(" d2="+d2);
long d1 = beginDatum.getTimeInMillis();
System.out.println(" d1="+d1);
int ergebnis = (int) ((d2 - d1) / 86400000);
return ergebnis;
}