Sprawdź zakres dat w Joda Time
Używam biblioteki Joda Time 2.1.
Napisałem metodę porównywania, jeśli dana data jest pomiędzy zakresem dat. Chcę, aby zawierała datę początkową i datę końcową. UżyłemLocalDate
ponieważ nie chcę uważać części czasu tylko za część daty.
Poniżej znajduje się kod.
isDateBetweenRange(LocalDate start,LocalDate end,LocalDate target){
System.out.println("Start Date : "
+start.toDateTimeAtStartOfDay(DateTimeZone.forID("EST"));
System.out.println("Target Date : "
+targettoDateTimeAtStartOfDay(DateTimeZone.forID("EST"));
System.out.println("End Date : "
+end.toDateTimeAtStartOfDay(DateTimeZone.forID("EST"));
System.out.println(target.isAfter(start));
System.out.println(target.isBefore(end));
}
Rezultatem powyższej metody jest:
Start Date: 2012-11-20T00:00:00.000-05:00
Target Date: 2012-11-20T00:00:00.000-05:00
End Date : 2012-11-21T00:00:00.000-05:00
target.isAfter(start) : false
target.isBefore(end) : true
Moim problemem jesttarget.isAfter(start)
jest fałszywe, nawet jeślitarget
data istart
mają te same wartości.
chcę tegotarget >= start
ale tutaj uważa tylkotarget > start
.
Chcę to włącznie.
Czy to znaczy takisAfter
metoda znajduje dopasowanie wyłącznie?
Przeszedłem przez javadoc dla Jody Time, ale nic o tym nie znalazłem.