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

Barbara Streisand
リリース: 2024-11-08 07:21:01
オリジナル
752 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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