Javaで2つの日付を比較する方法
- Dateクラスのbefore()、after()、equals()
- DateクラスのcompareTo()
- CalendarクラスのcompareTo()
順番に説明します。
1.Dateクラスのbefore()、after()、equals()メソッド
Date date1 = new Date();
Date date2 = new Date();
if(date1.before(date2)){
System.out.println("date1 は date2 より前");
}else if(date1.after(date2)){
System.out.println("date1 は date2 より後");
}else{
System.out.println(" date1とdate2は同じ");
}
2. DateクラスのcompareTo()メソッド
compareTo()メソッドの戻り値が0の場合、等しいことを示し、0より小さい場合は、現在のDateオブジェクトが比較対象よりも前にあることを示し、0より大きい場合は、現在のDateオブジェクトが比較対象よりも後にあることを示します。
Date date1 = new Date();
Date date2 = new Date();
int result = date1.compareTo(date2);
if(result < 0) {
// date1はdate2より前
} else if(result == 0) {
// date1とdate2は同じ
} else {
// date1はdate2より後
}
3. CalendarクラスのcompareTo()メソッド
Calendarクラスは、Java 8以前に使用された古い日付クラスです。
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
int result = cal1.compareTo(cal2);
if(result < 0) {
// cal1はcal2より前
} else if(result == 0) {
// cal1とcal2は同じ
} else {
// cal1はcal2より後
}
コメント