ホームページ > Java > &#&チュートリアル > Javaで時刻を除いた日付を比較するにはどうすればよいですか?

Javaで時刻を除いた日付を比較するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-09 08:16:02
オリジナル
551 人が閲覧しました

How to Compare Dates in Java Excluding Time?

時間を除く日付比較: 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート