【Java】Date型で日付・日時を比較するさまざまな方法を紹介!
  • facebookページ
  • twitterページ
  • 2021.01.01

    【Java】Date型で日付・日時を比較するさまざまな方法を紹介!

    この記事では、JavaのDate型で比較する方法について解説します。

    Date型は、数値とは異なり比較方法には特徴があります。

    ぜひこの記事を参考に、比較方法をマスターしてください!

    Date(日付)を比較する方法(LocalDate)

    日付を比較する方法の1つに、「LocalDate」「isAfter」「isBefore」「isEqual」を使う方法があります。

    LocalDate で日付を指定し、isAfter / isBefore / isEqual で日付を比較するイメージです。

    実際にサンプルコードを見て確認していきましょう。

    isAfter / isBefore / isEqual は、単語の意味の通り引数の日付に対して、過去か未来か、等しいかを true / false で返します。

    上記プログラムの実行結果は次の通りです。

    このように、意図した結果を取得できています。

    Date(日付)を比較する方法(compareTo)

    また、compareToメソッドを使うことでも、日付の比較が可能です。

    値や文字列のどちらが大きいかや、等しいかを比較できます。

    比較結果の返り値は、それぞれ次の通りです。

    compareToメソッドの返り値
    • 比較対象が引数と等しい場合は 0
    • 比較対象が引数より小さい場合は -1
    • 比較対象が引数より大きい場合は 1

    同じく、サンプルコードで確認してみましょう。

    記述方法は異なりますが、実行結果は isAfter / isBefore / isEqual と同様です。

    Date(日時)を比較する方法(LocalDateTime)

    日付だけでなく、時間も比較したい場合は LocalDateTime を使います。

    基本的な使い方は、 LocalDate と同様です。

    実際の動きをサンプルコードで確認してみます。

    このように、時間も含めて過去・未来を比較できています。

    時間まで比較したい場合は、LocalDateTime で日時を設定し、比較を行いましょう!

    Date(日時)を比較する方法(Date)

    日時は、Dateクラスの「beforeメソッド」「afterメソッド」を使っても比較可能です。

    使い方は「isBefore」「isAfter」と同じです。

    また、日付の指定にCalendarクラスも使ってみましょう。

    次のように記述できます。

    Calendarクラスで日時を set することで、日時を比較できるようにしています。

    また、SimpleDateFormat で表示させる文章のフォーマットを整えています。

    この辺りはお好みで調整すると良いでしょう。

    実行結果は次の通りです。

    こちらも、ちゃんと日時を比較できているのがわかります。

    なお、DateクラスでもcompareToメソッドは使用可能です。

    結果は上記同様です!

    等しいかどうかも、当然比較できます。

    Date型でNULLかどうか比較

    Date型の変数の値が、NULLかどうか比較する場合は「== null」もしくは「!= null」でチェックできます。

    シンプルな方法ですが、ちゃんとNULLが入っているかどうか確認できるので、覚えておくと良いでしょう。

    次のように記述できます。

    このように、NULLの比較ができました。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE