Jak zrobić warunek dotyczący daty?

0

Pobieram dane z array listy, chce uzyskać taki warunek "Jeśli data jest starsza niż miesiąc...." Jak na razie dotarłem tylko do tego miejsca i nie wiem co dalej

SimpleDateFormat formatdaty = new SimpleDateFormat("yyyy-MM-dd");
Date data_do_zmiany = null;
try {
data_do_zmiany = (Date) formatdaty.parse((zlecenia.get(1)._data_przyjecia));
} catch (ParseException ex) {
Logger.getLogger(Okno_dodaj_zlecenie.class.getName()).log(Level.SEVERE, null, ex);
}
Calendar data = Calendar.getInstance();
data.setTime(data_do_zmiany);

No mam date w formacie calendary do ktorej mogo np dodawac rok,dzien etc... data.add(Calendar.YEAR, +1);

Ale jak uzyskać interesujący mnie warunek? If(data 'jest starsza niz miesaic albo 30 dni'){.....}
Prosze o pomoc dzięki

0

Miesiąc nie jest dobrą jednostką miary. Głównie z tego powodu, że zależy całkowicie od kalendarza. Miesiąc nie tylko może mieć od 31 do 28 dni, ale był taki konkretny miesiąc w historii, który miał dni 16. Skoro tak, to musisz zawsze odnosić się do konkretnego miesiąca w kalendarzu.

Masz więc dwie daty - tę testowaną oraz obecną. W obu wypadkach możesz sprawdzić o ile odległe są w dniach lub sekundach od pewnej daty bazowej (zwykle początek kalendarza). Skoro tak, to możesz do testowanej daty dodać miesiąc (to już wiesz jak) i sprawdzić czy taka data jest późniejsza od obecnej czy wcześniejsza odnosząc się do daty bazowej. Jeżeli wcześniejsza, to znaczy, że jest starsza niż ostatni miesiąc, a jeżeli późniejsza, to znaczy, że ostatni miesiąc jeszcze cały nie upłynął.
Możesz też podejść odwrotnie i cofnąć o miesiąc uzyskaną datę bieżącą i wtedy porównywać ją z testowaną.

0

OK do tego tez doszedlem. Pobrac aktualna odjąc miesiac i porównać. Tylko czego użyć do porówania? (mniejsza wieksza) jak to działa szukałem ale nie moge nic znalezc ;/

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