Я использую библиотеку Joda Time 2.1.
Я написал метод для сравнения, если заданная дата находится между диапазоном дат. Я хочу, чтобы он был включен в дату и дату начала. Я использовал LocalDate
, так как я не хочу рассматривать часть даты только для части времени.
Ниже приведен код для него.
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));
}
Выход вышеописанного метода:
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
Моя проблема target.isAfter(start)
неверна, даже если дата target
и start
имеют одинаковые значения.
Я хочу, чтобы target >= start
, но здесь он учитывает только target > start
.
Я хочу это включительно.
Означает ли это, что метод isAfter
находит совпадение исключительно?
Я прошел через javadoc для Joda Time, но ничего не нашел об этом.