私は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
が同じ値を持っている場合でも、falseです。
欲しいのはtarget >= start
ですが、こちらではtarget > start
とします。
包括的です。
isAfter
メソッドでは一致が排他的に検出されますか?
私はJoda TimeのJavadocを使いましたが、それについて何も見つかりませんでした。
LocalDatesの間隔と同様のスレッドで私の答えをチェックしてください: http://stackoverflow.com/a/14998753/1367432 –