著者:
Carl Weaver
作成日:
21 2月 2021
更新日:
18 5月 2024
コンテンツ
Javaを使用して日付を比較する方法はいくつかあります。内部的には、言語では、日付は変数を使用して特定の時点として表されます 長いです。 1970年1月1日から経過したミリ秒数が含まれています。Javaにはクラスがあります。 あなたにあげる (データ)、比較を行うのに役立ついくつかのメソッドが含まれています。どの比較方法でも、基本的に2つのDateオブジェクトに保存された時間を比較します。
ステップ
方法1/4:を使用する compareTo
- compareToメソッドを使用します。 DateクラスはComparableインターフェースを実装します
したがって、compareToメソッドを使用して2つの日付を比較できます。日付が同じ場合、メソッドはゼロを返します。比較される日付が引数として渡された日付より前の場合、ゼロ未満の値が返されます。逆の場合、戻り値はゼロより大きくなります。 -
日付オブジェクトを作成します。 日付を比較する前に、日付ごとにオブジェクトを作成する必要があります。これを行う1つの方法は、クラスを使用することです SimpleDateFormat。これにより、日付を日付オブジェクトに簡単に変換できます。 - 日付オブジェクトを比較します。 以下のコードは、等しい、マイナー、メジャーの日付が引数として渡される各ケースを示しています。
方法2/4:を使用する 等しい、 後 それは 前
-
equals、after、beforeメソッド(それぞれequal、after、before)を使用します。 これらの方法を使用して、日付を比較できます。 2つの日付が同じ時点を参照している場合、equalsメソッドはtrueを返します。以下の例では、compareToメソッドを示したときに作成した日付を使用します。 - beforeメソッドを使用して比較します。 以下のコードは、trueを返す場合とfalseを返す場合を示しています。 date1がdate2より前の場合、beforeはtrueを返します。それ以外の場合は、falseを返します。
-
afterメソッドを使用した比較。 以下のコードは、trueを返す場合とfalseを返す場合を示しています。 date2がdate1より後の場合、trueを返します。それ以外の場合は、falseを返します。 - equalsメソッドを使用して比較します。 以下のコードは、trueを返す場合とfalseを返す場合を示しています。日付が同じ場合、equalsメソッドはtrueを返します。それ以外の場合は、falseを返します。
方法3/4:カレンダークラスの使用
- カレンダーを使用します。 CalendarクラスにはcompareTo、equals、after、beforeメソッドもあり、これらは上記のdateクラスで説明したのと同じように機能します。日付の情報はカレンダーに保存されるため、比較のために日付を抽出する必要はありません。
- Calendarオブジェクトのインスタンスを作成します。 Calendarクラスのメソッドを使用するには、このクラスのオブジェクトをインスタンス化する必要があります。幸いなことに、以前に作成したDateインスタンスから日付を抽出できます。
- 前を使用してcal1とcal2を比較します。 cal1はcal2よりも前なので、以下のコードはtrueを返すはずです。
- afterを使用してcal1とcal2を比較します。 cal2はcal1よりも前であるため、以下のコードはfalseを返すはずです。
- equalsを使用してcal1とcal2を比較します。 以下のコードは、真のケースと偽のケースの例を示しています。答えを定義するのは、比較で使用されるCalendarクラスの2つのインスタンスです。コードは次の行で「true」を返し、次に「false」を返す必要があります。
方法4/4:を使用する 時間をもらう
- getTimeを使用して、2つの日付の時刻を比較することもできます。 ただし、前に示したアプローチの方が単純なので、優先してください。これは、Javaの2つのプリミティブデータ型の比較になるため、「<」、「>」、および「==」演算子を使用して実行できます。
- 時間を表す長いオブジェクトを作成します。 日付を比較する前に、長整数を作成し、前に作成したDateオブジェクトを割り当てます。幸い、getTime()メソッドがすべての作業を行います。
- 「未満」の比較を行います。 これを行うには、2つの整数を比較するときに記号「<」を使用します。 time1はtime2より小さいため、最初のメッセージが表示されます。 THE そうしないと 構文上の理由でのみ含まれています。
- 「より大きい」比較を行います。 これを行うには、2つの整数を比較するときに「>」記号を使用します。 time1はtime2より大きいため、最初のメッセージが画面に表示されます。 THE そうしないと 構文上の理由でのみ含まれています。
- 同等性テストを行います。 「==」記号を使用して、2つの整数を比較するときに等しいかどうかをテストします。 time1はtime3と等しいため、最初のメッセージが画面に表示されます。プログラムがelseに到達した場合、それは日付が同じではないことを意味します。