Witam
Chciałbym napisać funkcje obliczającą ile miesięcy upłynęło do podanej daty.
Znalazłem rozwiązanie ale nie działa w J2ME
public static long monthsBetween(Calendar startDate) {
Calendar endDate = Calendar.getInstance();
Calendar date = (Calendar) startDate.clone(); // brak funkcji clone() w J2ME
long monthsBetween = 0;
while (date.before(endDate)) {
date.add(Calendar.MONTH, 1); //brak funkcji add() w J2ME
monthsBetween++;
}
return monthsBetween;
}
Samodzielnie napisałem coś takiego"
////startTime=startDate.getTime();
public static long months(Date startTime){
Date current=new Date();
long start=startTime.getTime();
long end=current.getTime();
long diff=start-end;
return diff/(1000*60*60*24*31); // 24h*31 dni
}
jednak to też nie działa prawidłowo.
Przykład:
załóżmy ze mamy dziś 7.07.2011 a data jakiegoś wydarzenia to 12.03.2011 funkcja months()wyświetla 6 a powinno być 4:(
Macie jakieś pomysły jak napisać taką funkcję żeby działała?