ホームページ >Java >&#&チュートリアル >時間コンポーネントを使用せずに Java で日付を比較するにはどうすればよいですか?

時間コンポーネントを使用せずに Java で日付を比較するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-24 17:14:12922ブラウズ

How to Compare Dates in Java Without Time Components?

日付のみによる日付の比較

java.util.Date オブジェクトを扱う場合、日付を考慮せずに日付を比較する必要がある場合があります。時間コンポーネント。この質問では、この比較のための簡単な方法を求めています。

Joda Time による解決策

推奨されるアプローチは、洗練された解決策を提供する Joda Time ライブラリを利用することです。

DateTime first = ...;
DateTime second = ...;

LocalDate firstDate = first.toLocalDate();
LocalDate secondDate = second.toLocalDate();

return firstDate.compareTo(secondDate);

または、次のようにして比較を簡略化することもできます。 DateTimeComparator.getDateOnlyInstance():

// TODO: Consider extracting this comparator to a field.
return DateTimeComparator.getDateOnlyInstance().compare(first, second);

ネイティブ Java アプローチ

Joda Time を使用できない場合は、ネイティブ Java API を使用できます。プロセスはさらに複雑です:

  1. 両方の日付のカレンダー インスタンスを作成します。適切なタイムゾーンを指定します。
  2. 各カレンダーの時、分、秒、およびミリ秒のフィールドを 0 に設定します。
  3. 結果のカレンダー インスタンスを比較します。

注java.util.Date は常に UTC に基づいているため、このアプローチではタイムゾーンを慎重に処理する必要があります。

以上が時間コンポーネントを使用せずに Java で日付を比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。