ilość dni między datami

0

Do obliczania ilości dni korzystam z metody:

 public static long daysBetween(Calendar startDate, Calendar endDate) {
        Calendar date = (Calendar) startDate.clone();
        long daysBetween = 0;
        while (date.before(endDate)) {
            date.add(Calendar.DAY_OF_MONTH, 1);
            daysBetween++;
        }
        return daysBetween;
    }

Metodę wykorzystuję do obliczania ilości iteracji w pętli:

http://4programmers.net/Pastebin/2126
(coyote wybucha po wklejeniu tego kodu tutaj, więc przekleiłem na pastebin - msm).

Problem polega na tym, że zaraz po uruchomieniu programu jakimś cudem wprowadzane są dane dla okresu między dataP i dataK-1, a kolejne wywałania kodu wprowadzają dane dla okresu dataP i dataK, czyli dla jednego dnia więcej.

1

Witam,

Wg mnie, prościej ilość dni między datami liczyć tak:

 public static long daysBetween(Calendar startDate, Calendar endDate) {
        long diff = endDate.getTimeInMillis() - startDate.getTimeInMillis();
        
        return (diff / (1000 * 60 * 60 * 24)); // 1000 milisekund w sekundzie * 60 sekund w minucie * 60 minut w godzinie * 24 godziny w dniu
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1