ホームページ  >  に質問  >  本文

JavaScript の Date オブジェクトを比較する

<p>JavaScript で日付オブジェクトを比較する場合、同じ日付を比較しても true が返されないことがわかりました。 </p> <pre class="brush:php;toolbar:false;">var startDate1 = new Date("02/10/2012"); var startDate2 = 新しい日付("01/10/2012"); var startDate3 = 新しい日付("01/10/2012"); alert(startDate1>startDate2); // true alert(startDate2==startDate3); //false</pre> <p>これらの日付が等しいかどうかを比較するにはどうすればよいですか?日付を比較するためだけにサードパーティの JavaScript ライブラリを使用するのは適切ではないため、サードパーティのライブラリではなくネイティブ JavaScript Date オブジェクトを使用したいと考えています。 </p>
P粉724737511P粉724737511444日前500

全員に返信(2)返信します

  • P粉794177659

    P粉7941776592023-08-04 15:33:36

    getTime() メソッドを使用して日付を比較します。これにより、比較のためにエポックからのミリ秒数 (数値) が返されます。 リーリー

    また、文字列表現に依存するのではなく、明示的な年/月/日の数値を使用して Date オブジェクトを構築することを検討してください (Date.parse() を参照)。 JavaScript の日付は常にクライアント (ブラウザー) のタイムゾーンを使用して表されることを覚えておいてください。

    返事
    0
  • P粉990568283

    P粉9905682832023-08-04 12:15:10

    これは、2 番目のケースでは、実際の日付オブジェクトが比較され、2 つのオブジェクトが等しくなることがないためです。数値にキャストします:

    リーリー

    より明示的に数値に変換したい場合は、次のいずれかの方法を使用できます。

    リーリー

    フロア

    リーリー

    は、仕様 §11.9.3 抽象的等価比較アルゴリズムへの参照です。基本的に、オブジェクトを比較する場合、obj1 == obj2 が同じオブジェクトを参照する場合にのみ true となり、それ以外の場合は結果が false になることを示しています。

    返事
    0
  • キャンセル返事