Java

【Java】Dateクラスで日付の比較(compareTo/before/after)

2020年4月25日

JavaのDateクラスで日付の比較

JavaのDateクラスは、日付型のクラスです。

Dateクラスには、日付を比較するメソッド(compareTo/before/after)が用意されているため、かんたんに比較できます。

compareToメソッドの使い方

Dateクラスに用意されている「compareTo」メソッドで、日付の比較ができます。

compareToメソッドの戻り値は次のとおりです。

戻り値説明
0メソッドの引数と同値
-1メソッドの引数より小さい
1メソッドの引数より大きい

それでは、「compareTo」メソッドの具体的な使い方を確認してみましょう。

import java.util.Date;

public class Main {

    public static void main(String[] args) {

        Date date1 = new Date(2024, 4, 1, 14, 10, 20);
        Date date2 = new Date(2024, 4, 1, 14, 10, 21);

        System.out.println(date1.compareTo(date2));
        System.out.println(date2.compareTo(date1));
        System.out.println(date1.compareTo(date1));
    }
}

【実行結果】

-1
1
0

スポンサーリンク

beforeメソッドの使い方

Dateクラスに用意されている「before」メソッドで、日付の比較ができます。

beforeメソッドは、指定された日付より前にあるかどうかを判定するときに使います。

beforeメソッドの戻り値は次のとおりです。

戻り値説明
trueメソッドの引数より前
falseメソッドの引数より前ではない
(メソッドの引数と同値 または メソッドの引数より後)

それでは、「before」メソッドの具体的な使い方を確認してみましょう。

import java.util.Date;

public class Main {

    public static void main(String[] args) {

        Date date1 = new Date(2024, 4, 1, 14, 10, 20);
        Date date2 = new Date(2024, 4, 1, 14, 10, 21);

        System.out.println(date1.before(date2));
        System.out.println(date2.before(date1));
    }
}

【実行結果】

true
false

afterメソッドの使い方

Dateクラスに用意されている「after」メソッドで、日付の比較ができます。

afterメソッドは、指定された日付より後にあるかどうかを判定するときに使います。

afterメソッドの戻り値は次のとおりです。

戻り値説明
trueメソッドの引数より後
falseメソッドの引数より後ではない
(メソッドの引数と同値 または メソッドの引数より前)

それでは、「after」メソッドの具体的な使い方を確認してみましょう。

import java.util.Date;

public class Main {

    public static void main(String[] args) {

        Date date1 = new Date(2024, 4, 1, 14, 10, 20);
        Date date2 = new Date(2024, 4, 1, 14, 10, 21);

        System.out.println(date1.after(date2));
        System.out.println(date2.after(date1));
    }
}

【実行結果】

false
true

helpful