Javaで2つの日付を比較する方法

Javaで2つの日付を比較する方法

Java の日付を比較する方法はいくつかあります。日付は、コンピューター内部では (長い) 時点、つまり 1970 年 1 月 1 日から経過したミリ秒数として表されます。 Java では、Date はオブジェクトであり、複数の比較メソッドが含まれています。 2 つの日付を比較する方法は、基本的に日付の時刻を比較することです。

方法1方法1/4:

compareToの使用

  1. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/6\/6a\/4301351-1.jpg\/v4-460px-4301351-1.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/6\/6a\/4301351-1.jpg\/v4-728px-4301351-1.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 1 compareTo を使用します。 Date は Comparable<Date> を実装しているため、compareTo メソッドを使用して 2 つの日付を直接比較できます。日付が同じ時点の場合、メソッドはゼロを返します。比較対象の日付が日付引数より前の場合は、ゼロ未満の値を返します。比較対象の日付が他の日付引数より後の場合は、ゼロより大きい値を返します。日付が等しい場合は、値 0 が返されます。 [1]
  2. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/8\/8c\/4301351-2.jpg\/v4-460px-4301351-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/8\/8c\/4301351-2.jpg\/v4-728px-4301351-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 2日付オブジェクトを作成します。比較を始める前に、各日付のオブジェクトを作成する必要があります。 1 つの方法は、SimpleDateFormat クラスを使用することです。日付オブジェクトに日付値を簡単に入力できます。
       SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy-MM-dd" ); 
      //新しい日付オブジェクトの値を宣言するために使用されます。日付を作成するときは同じ日付形式を使用する
      日付date1 = sdf . parse ( "1995-02-23" ); //date1 は 1995 年 2 月 23 日
      日付date2 = sdf . parse ( "2001-10-31" ); //date2 は 2001 年 10 月 31 日
      日付date3 = sdf . parse ( "1995-02-23" ); //date3 は 1995 年 2 月 23 日
      
  3. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/5\/5d\/4301351-3.jpg\/v4-460px-4301351-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/5\/5d\/4301351-3.jpg\/v4-728px-4301351-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 3日付オブジェクトを比較します。次のコードは、それぞれの場合(より小さい、等しい、より大きい)を示します。
       date1 . compareTo ( date2 ); //date1 < date2 なので、0 未満の値を返します
      date2 . compareTo ( date1 ); //date2 > date1 なので、0 より大きい値を返します
      date1 . compareTo ( date3 ); //date1 = date3 の場合、コンソールに 0 が出力されます
      
    広告する
方法2方法2/4:

等号、後、前の使用

  1. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/7\/70\/4301351-4.jpg\/v4-460px-4301351-4.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/7\/70\/4301351-4.jpg\/v4-728px-4301351-4.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 1等号、後、前を使用します。日付を比較するには、equals、after、before メソッドを使用できます。 2 つの日付が同じ時点である場合、equals メソッドは true を返します。この例では、以前に作成した compareTo メソッドで日付を使用します。 [2]
  2. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/d\/dd\/4301351-5.jpg\/v4-460px-4301351-5.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/d\/dd\/4301351-5.jpg\/v4-728px-4301351-5.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 2 before メソッドを使用して日付を比較します。次のコードは、true の場合と false の場合の両方を示しています。 date1 が date2 より前の場合、before は true を返します。それ以外の場合は false を返します。
       System.out.print ( date1.before ( date2 ) ) ; //出力true
      System.out.print ( date2.before ( date2 ) ) ; //出力false
      
  3. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/a\/ad\/4301351-6.jpg\/v4-460px-4301351-6.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/a\/ad\/4301351-6.jpg\/v4-728px-4301351-6.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 3 after メソッドを使用して日付を比較します。次のコードは、true の場合と false の場合の両方を示しています。 date2 が date1 より後の場合、after は true を返します。それ以外の場合は false を返します。
       System.out.print ( date2.after ( date1 ) ) ; //出力true
      System.out.print ( date1.after ( date2 ) ) ; //出力false
      
  4. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/e\/ed\/4301351-7.jpg\/v4-460px-4301351-7.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/e\/ed\/4301351-7.jpg\/v4-728px-4301351-7.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 4日付を比較するには、equals メソッドを使用します。次のコードは、true の場合と false の場合の両方を示しています。日付が等しい場合、equals は true を返します。それ以外の場合は false を返します。
       System.out.print ( date1.equals ( date3 ) ) ; //出力true
      System.out.print ( date1.equals ( date2 ) ) ; //出力false
      
    広告する
方法3方法3/4:

カレンダークラスの使用

  1. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/6\/6f\/4301351-8.jpg\/v4-460px-4301351-8.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/6\/6f\/4301351-8.jpg\/v4-728px-4301351-8.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 1カレンダーを使用します。 Calendar クラスには、上記の date クラスのメソッドと同じように動作する compareTo、equals、after、before メソッドもあります。したがって、日付情報が Calendar クラスに保存されている場合は、比較を実行するために日付を抽出する必要はありません。 [3]
  2. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/5\/5c\/4301351-9.jpg\/v4-460px-4301351-9.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/5\/5c\/4301351-9.jpg\/v4-728px-4301351-9.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 2Calendar インスタンスを作成します。 Calendar メソッドを使用するには、複数の Calendar インスタンスが必要です。幸いなことに、すでに作成された Date インスタンスから時刻を取得できます。
       Calendar cal1 = Calendar . getInstance (); // cal1 を宣言する
      Calendar cal2 = Calendar . getInstance (); // cal2 を宣言する
      Calendar cal3 = Calendar . getInstance (); // cal3 を宣言する
      cal1 . setTime ( date1 ); //日付をcal1に適用する
      cal2.setTime ( date2 ) ;
      cal3.setTime ( date3 ) ;
      
  3. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/8\/8d\/4301351-10.jpg\/v4-460px-4301351-10.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/8\/8d\/4301351-10.jpg\/v4-728px-4301351-10.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 3 before を使用して、cal1 と cal2 を比較します。次のコードは、cal1 が cal2 の前に来るため、true を出力するはずです。
       System.out.print ( cal1.before ( cal2 ) ) ; // true出力します
      
  4. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/2\/29\/4301351-11.jpg\/v4-460px-4301351-11.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/2\/29\/4301351-11.jpg\/v4-728px-4301351-11.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 4 after を使用して、cal1 と cal2 を比較します。次のコードは、cal1 が cal2 の前に来るため、false を出力するはずです。
       System.out.print ( cal1.after ( cal2 ) ) ; //出力false
      
  5. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/f\/f4\/4301351-12.jpg\/v4-460px-4301351-12.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/f\/f4\/4301351-12.jpg\/v4-728px-4301351-12.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 5等号を使用して cal1 と cal2 を比較します。次のコードは、true の場合と false の場合の両方の例を示します。条件は比較されるカレンダーインスタンスによって異なります。コードは「true」を出力し、次の行で「false」を出力する必要があります。
       System.out.println ( cal1.equals ( cal3 ) ) ; //出力true : cal1 == cal3
      System.out.print ( cal1.equals ( cal2 ) ) ; //出力false : cal1 != cal2
      
    広告する
方法 4方法4/4:

getTimeの使用

  1. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/2\/24\/4301351-13.jpg\/v4-460px-4301351-13.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/2\/24\/4301351-13.jpg\/v4-728px-4301351-13.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 1getTime を使用します。前述のいずれかの方法の方が読みやすく、好ましいと思われますが、ある時点で 2 つの日付を直接比較することも可能です。これは 2 つのプリミティブ データ型の比較なので、比較には「<」、「>」、および「==」を使用できます。
  2. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/c\/c3\/4301351-14.jpg\/v4-460px-4301351-14.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/c\/c3\/4301351-14.jpg\/v4-728px-4301351-14.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 2 long 型の時間オブジェクトを作成します。日付を比較する前に、先ほど作成した Date オブジェクトのデータを使用して長整数を作成する必要があります。幸いなことに、getTime() メソッドがほとんどの作業を自動的に実行してくれます。
       long time1 = getTime ( date1 ); //date1を使用して元のデータtime1を宣言します
      long time2 = getTime ( date2 ); //date2を使用して元のデータtime2を宣言します
      
  3. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/6\/62\/4301351-15.jpg\/v4-460px-4301351-15.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/6\/62\/4301351-15.jpg\/v4-728px-4301351-15.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 3 は比較よりもパフォーマンスが低くなります。 2 つの整数値を比較するには、小なり記号 (<) を使用します。 time1 は time 2 より小さいため、最初のメッセージが出力されるはずです。構文を正しくするために、else ステートメントが使用されます。
       時間1 <時間2 の場合
      System.out.println ( "date1 is before date2" ) ; // time1 < time2 なのでこの文出力さます
      }
      それ以外{
      システム.out.println ( "date1date2より前ではありません" ) ;
      }
      
  4. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/3\/3a\/4301351-16.jpg\/v4-460px-4301351-16.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/3\/3a\/4301351-16.jpg\/v4-728px-4301351-16.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 4より大きい比較を実行します。 2 つの整数値を比較するには、大なり記号 (>) を使用します。 time1 は time 2 より大きいため、最初のメッセージが出力されるはずです。構文を正しくするために、else ステートメントが使用されます。
      もし(時間2 >時間1 ) {
      System.out.println ( "date2はdate1より後です" ) ; // time2 > time1なのでこの文出力さます
      }
      それ以外{
      システム.out.println ( "date2はdate1より後ではありませ" ) ;
      }
      
  5. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/d\/dd\/4301351-17.jpg\/v4-460px-4301351-17.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/d\/dd\/4301351-17.jpg\/v4-728px-4301351-17.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":"<div class=\"mw-parser-output\"><\/div>"} 5 は等しい比較を実行します。等号 (==) を使用して、2 つの整数値が等しいかどうかを確認します。 time1 は time3 と等しいので、最初のメッセージが出力されるはずです。プログラムが else ステートメントを実行する場合、2 つの時間が等しくないことを意味します。 [4]
      (時間1 ==時間2 )の場合{
      System . out . println ( "日付は同じです" );
      }
      それ以外{
      System.out.println ( "日付が等しくありません" ) ; // time1 != time2 なのでこの文を出力ます
      }
      
    広告する

<<:  モルモットの信頼を得る方法

>>:  サッカーの遊び方

推薦する

誰かをより良く愛する方法

ベッドの中であろうとなかろうと、付き合い始めたばかりであろうと、すでに長い付き合いのカップルであろう...

より高くジャンプする方法

垂直跳びが得意だと、バスケットボール、体操、バレーボールなど多くのスポーツで有利になるだけでなく、あ...

小切手の裏書方法

「ここに署名してください。」小切手を換金または保管する前に、受取人からの適切な署名による裏書が必要で...

ニンニクオイルの作り方

人々が頻繁にイタリアンレストランに通う理由は、おいしいパスタだけではありません。大きめの固いパンをち...

iPhoneから印刷する方法

iPhone からの印刷は、写真、電子メール、記事の印刷など、さまざまな用途に使用できます。この記事...

本物のコラーダの作り方

冷たくて爽やかなピニャコラーダを作ると、まるで熱帯の島にいるような気分になります。この人気の(ノンア...

Facebookに動画を投稿する方法

Facebook チャット体験を次のレベルに引き上げる準備はできていますか? Facebook でビ...

切断された指に応急処置を施す方法

指の骨折は重大な事故であり、現場に最初に到着した場合は、被害者の状態が悪化しないようにする必要があり...

芽キャベツの調理方法

芽キャベツは、ブリュッセルスプラウトとも呼ばれ、栄養価が高く用途の広い野菜です。ビタミンC、ビタミン...

Ubuntu Linuxのインストール方法

この記事では、現在のオペレーティング システムを削除せずに Windows または Mac コンピュ...

試験に向けて勉強する方法

やるべきテストは尽きることなく、春のそよ風とともに新たな生命が吹き込まれます。この文章は非常に適切で...

Android で空白のホーム画面を削除する方法

携帯電話を通常使用中に、複数のアプリをインストールしたり削除したりすると、ホーム画面に不要な空白のホ...

フォンダンの使い方

フォンダンはケーキを覆うために使用されるアイシングの一種で、簡単に形を作ることができます。ケーキの上...

iPhoneでドキュメントを編集する方法

このwikiHowでは、iPhoneでドキュメントを編集する方法を説明します。 iPhone版の「W...

Android でペアレンタルコントロールを設定する方法

このwikiHowでは、Androidデバイスでペアレンタルコントロールを有効にし、アプリ、ゲーム、...