ホームページ  >  記事  >  Java  >  時刻部分を除いて日付を比較するにはどうすればよいですか?

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

Barbara Streisand
Barbara Streisandオリジナル
2024-11-08 07:21:01672ブラウズ

How to Compare Dates Without the Time Portion?

時間部分を除いた日付の比較

日付を比較する場合、その日だけに焦点を当てるために時間部分を無視する必要がある場合があります。月と年。これは通常、2 つのイベントが同じ日に発生したかどうかを判断するなどのシナリオで行われます。時刻を使用せずに日付比較を実装する方法は次のとおりです。

Joda Time の使用

Joda Time は、日付の操作と比較に便利なソリューションを提供します。時刻を使用せずに日付を比較するには:

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

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

return firstDate.compareTo(secondDate);

または、DateTimeComparator を使用します:

return DateTimeComparator.getDateOnlyInstance().compare(first, second);

Java 組み込み API (カレンダー) を使用する

Joda Time が利用できない場合は、Java 組み込みカレンダーを使用してくださいAPI:

Calendar firstDate = Calendar.getInstance();
Calendar secondDate = Calendar.getInstance();

firstDate.setTime(first);
secondDate.setTime(second);

firstDate.set(Calendar.HOUR_OF_DAY, 0);
firstDate.set(Calendar.MINUTE, 0);
firstDate.set(Calendar.SECOND, 0);
firstDate.set(Calendar.MILLISECOND, 0);

secondDate.set(Calendar.HOUR_OF_DAY, 0);
secondDate.set(Calendar.MINUTE, 0);
secondDate.set(Calendar.SECOND, 0);
secondDate.set(Calendar.MILLISECOND, 0);

return firstDate.compareTo(secondDate);

Android 開発者向けクイック リファレンス

Joda Time 依存関係の追加:

dependencies {
  ...
  implementation 'joda-time:joda-time:2.9.9'
}

コード例:

DateTimeComparator dateTimeComparator = DateTimeComparator.getDateOnlyInstance();

Date myDateOne = ...;
Date myDateTwo = ...;

int retVal = dateTimeComparator.compare(myDateOne, myDateTwo);

以上が時刻部分を除いて日付を比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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