21
我正在使用Joda時間2.1庫。Joda時間中的包含日期範圍檢查
我寫了一個方法來比較給定日期是否在日期範圍之間。我希望它包含到開始日期和結束日期。我已經使用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
方法專門查找匹配?
我已經瀏覽了Joda Time的javadoc,但沒有發現任何關於它的內容。
檢查我的類似線程的答案,LocalDates的間隔: http://stackoverflow.com/a/14998753/1367432 –