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 なのでこの文を出力ます
      }
      
    広告する

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

>>:  サッカーの遊び方

推薦する

Windows プログラムを強制終了する方法

このwikiHowでは、Windowsで応答しないプログラムを強制的に閉じる方法を説明します。 ステ...

ポッキーゲームの遊び方

ポッキーはチョコレートでコーティングされた日本のビスケットです。パーティーでは、このスナックを使って...

洋ナシ型の体型に似合う服装とは

大きなお尻、太い脚、太い下半身は、洋ナシ型の体型の女性の典型的な特徴です。洋ナシ型の体型の人の多くは...

ESPNをオンラインで視聴する方法

ESPN (ESPN) は、米国最大のスポーツ ネットワーク プログラミングを提供しています。彼らは...

フロントガラスウォッシャー液の作り方

フロントガラスウォッシャー液はすべてのドライバーが使用するものです。お住まいの地域でウィンドウウォッ...

女性のアンドロゲンレベルを下げる方法

女性のアンドロゲンレベルが高いと、ニキビ、体重増加、過剰な毛の成長、インスリン抵抗性などの問題を引き...

ダイヤモンド凧の作り方

ダイヤモンドは伝統的な凧の中で最も一般的な形です。思ったより簡単に作れます。凧を作る手順は、材料を集...

ズボンのアイロンのかけ方

シワになりにくい生地が広く普及し、多くの企業でスーツの着用が義務付けられていないにもかかわらず、ズボ...

感情解放療法(EFT)の使い方

感情解放療法(EFT)は、過去の経験に関連するストレスや痛みの感情を効果的に軽減できる、薬を使わない...

乙女座の女性を魅了する方法

あなたは乙女座の女性に魅了されていますか?これは正常です。 8月22日から9月22日の間に生まれた女...

Instagram アカウントを一時的に無効にする方法

このwikiHowでは、Instagramアカウントを一時的に無効にして、アカウントを削除せずに他の...

Facebookで投稿をスケジュールする方法

どのような種類の Facebook ページを運営しているかに関係なく、積極的にコンテンツを投稿するこ...

ボディビルダーのように食べる方法

ボディビルダーの食事療法に厳密に従って食事をすれば、筋肉をつけ、体重を減らし、良い体型を維持すること...

ヒカマの皮の剥き方

ヒカマはジャガイモ科の植物で、大きなカブのような見た目をしています。ほんのり甘い風味と、新鮮でシャキ...

PayPalから銀行口座に送金する方法

このwikiHowでは、PayPalアカウントから自分の銀行口座に送金する方法と、他の人のPayPa...