LocalDate比較

今回は、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の方がもっと使っている気がするのでそれについてみてみました。

ありがとうございます。

コメントを残す