時間の比較
java.util.Date の場合、after(),before(),equals(),compareTo() にて比較可能。
但し、比較はミリ秒単位で行われる為、注意が必要。
ソース記述例
Date date1 = new Date();
Date date2 = new Date();
date1.before(date2);
date1.equals(date2);
日付のみでの比較を行いたい場合は Calendar を使用して、時間、分、秒、ミリ秒を 0 で初期化してから比較する。
ソース記述例
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.set(Calendar.HOUR, 0);
cal1.set(Calendar.MINUTE, 0);
cal1.set(Calendar.SECOND, 0);
cal1.set(Calendar.MILLISECOND, 0);
cal2.set(Calendar.HOUR, 0);
cal2.set(Calendar.MINUTE, 0);
cal2.set(Calendar.SECOND, 0);
cal2.set(Calendar.MILLISECOND, 0);
cal1.equals(cal2);
cal1.before(cal2);
もしくわ年、月、日それぞれで比較する。
ソース記述例
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
boolean equal = cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR)
&& cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH)
&& cal1.get(Calendar.DAY_OF_MONTH) == cal2
.get(Calendar.DAY_OF_MONTH);
|