JavaScript の Date オブジェクトを比較する
P粉724737511
P粉724737511 2023-08-03 17:28:16
0
2
562
<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粉724737511
P粉724737511

全員に返信(2)
P粉794177659

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

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

いいねを押す +0
P粉990568283

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

リーリー

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

リーリー

フロア

リーリー

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート