今回は、LocalDate型の日付比較をする方法についてみていきたいと思います。
比較メソッド
比較するためのメソッドは以下となります。
- compareTo()
- isBefore()
- isAfter()
- isEqual()
使い方
compareTo()
LocalDate date1 = LocalDate.of(2020, 01, 01); // 2020-01-01
LocalDate date2 = LocalDate.of(2020, 01, 06); // 2020-01-06
if (date1.compareTo(date2) > 0) {
System.out.println("date1 is after date2");
} else if (date1.compareTo(date2) < 0) {
System.out.println("date1 is before date2");
} else if (date1.compareTo(date2) == 0) {
System.out.println("date1 is equal to date2");
}
isBefore()
LocalDate date1 = LocalDate.of(2020, 01, 01); // 2020-01-01
LocalDate date2 = LocalDate.of(2020, 01, 06); // 2020-01-06
if (date1.isBefore(date2)) {
System.out.println("date1 is after date2");
}
- これな”date1 is after date2″が出力されます。
isAfter()
LocalDate date1 = LocalDate.of(2020, 01, 01); // 2020-01-01
LocalDate date2 = LocalDate.of(2020, 01, 06); // 2020-01-06
if (date1.isAfter(date2)) {
System.out.println("date1 is after date2");
}
- これは何も出力されません。
isEqual()
LocalDate date1 = LocalDate.of(2020, 01, 06); // 2020-01-06
LocalDate date2 = LocalDate.of(2020, 01, 06); // 2020-01-06
if (date1.isEqual(date2)) {
System.out.println("date1 is equal date2");
}
- これは”date1 is equal date2″が出力されます。
終わりに
java.util.Dateのメソッド名は少し違うので、Dateを使って比較を行う場合は、ドキュメントを読みましょう。
最近は、LocalDateの方がもっと使っている気がするのでそれについてみてみました。
ありがとうございます。
