Hallo,
ich muss die Differenz an Tagen zwischen dem aktuellen und einem zurück liegendem Datum berechnen. Dafür habe ich mir folgende Methode geschrieben:
Ausgehend von heute (26.03.2023) erhalte ich für alle Tage bis zum 31.03.2023 die richtige Differenz, für den 31.03.2023 also 5 Tage. Ab dem 01.04.23 erhalte ich dann aber ebenso 5 Tage und für alle Folgetage ebenfalls einen Tag zu wenig.
Ich verwende diese Methode schon seit vielen Jahren und mir ist bisher noch nie ein solcher Berechnungsfehler aufgefallen. Hat jemand eine Idee, was die Ursache dieses Problems sein könnte? An den übergebenen Daten kann es nicht liegen, die sind korrekt.
kodela
ich muss die Differenz an Tagen zwischen dem aktuellen und einem zurück liegendem Datum berechnen. Dafür habe ich mir folgende Methode geschrieben:
Java:
private int getDiff2heute(int jr, int mn, int tg) {
GregorianCalendar jubeltag = new GregorianCalendar(jr, mn, tg);
GregorianCalendar is_heute = new GregorianCalendar(jahr, monat, tag);
long jt = jubeltag.getTimeInMillis();
long ht = is_heute.getTimeInMillis();
if (jt >= ht) {
return (int) ((jt - ht) / 86400000L); // 1000 / 60 / 60 / 24
} else {
return -1;
}
}
Ausgehend von heute (26.03.2023) erhalte ich für alle Tage bis zum 31.03.2023 die richtige Differenz, für den 31.03.2023 also 5 Tage. Ab dem 01.04.23 erhalte ich dann aber ebenso 5 Tage und für alle Folgetage ebenfalls einen Tag zu wenig.
Ich verwende diese Methode schon seit vielen Jahren und mir ist bisher noch nie ein solcher Berechnungsfehler aufgefallen. Hat jemand eine Idee, was die Ursache dieses Problems sein könnte? An den übergebenen Daten kann es nicht liegen, die sind korrekt.
kodela