時間を除く日付比較: Joda 時間を使用した探索
Java では、java.util.Date オブジェクトは日付と時刻の両方を表します。日付を比較する場合、多くの場合、時刻の部分を無視して日付そのもののみに注目することが望ましいです。
Joda Time: 簡略化されたソリューション
Joda Time、有名なライブラリ時間計算については、洗練されたソリューションを提供します。これは、時刻属性を破棄して DateTime オブジェクトから日付情報を抽出する toLocalDate() メソッドを提供します。
DateTime first = ...; DateTime second = ...; LocalDate firstDate = first.toLocalDate(); LocalDate secondDate = second.toLocalDate(); return firstDate.compareTo(secondDate);
代わりに、比較プロセスを簡素化する DateTimeComparator.getDateOnlyInstance() メソッドを使用することもできます。
return DateTimeComparator.getDateOnlyInstance().compare(first, second);
組み込み API の代替手段
Joda Time がオプションでない場合は、時間を省略して日付のみを表すように Calendar インスタンスを手動で調整できます。分、秒、およびミリ秒のフィールド。
Calendar firstCalendar = Calendar.getInstance(); Calendar secondCalendar = Calendar.getInstance(); firstCalendar.set(Calendar.HOUR_OF_DAY, 0); firstCalendar.set(Calendar.MINUTE, 0); firstCalendar.set(Calendar.SECOND, 0); firstCalendar.set(Calendar.MILLISECOND, 0); secondCalendar.set(Calendar.HOUR_OF_DAY, 0); secondCalendar.set(Calendar.MINUTE, 0); secondCalendar.set(Calendar.SECOND, 0); secondCalendar.set(Calendar.MILLISECOND, 0); return firstCalendar.compareTo(secondCalendar);
ただし、この方法は Joda Time のアプローチに比べて扱いにくく、堅牢性が低いことに注意してください。
以上がJavaで時刻を除いた日付を比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。