JavaScript の Date オブジェクトを比較する
P粉724737511
2023-08-03 17:28:16
<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>
getTime() メソッドを使用して日付を比較します。これにより、比較のためにエポックからのミリ秒数 (数値) が返されます。 リーリー
また、文字列表現に依存するのではなく、明示的な年/月/日の数値を使用して Date オブジェクトを構築することを検討してください (Date.parse() を参照)。 JavaScript の日付は常にクライアント (ブラウザー) のタイムゾーンを使用して表されることを覚えておいてください。これは、2 番目のケースでは、実際の日付オブジェクトが比較され、2 つのオブジェクトが等しくなることがないためです。数値にキャストします:
リーリーより明示的に数値に変換したい場合は、次のいずれかの方法を使用できます。
リーリーフロア
リーリーは、仕様 §11.9.3 抽象的等価比較アルゴリズムへの参照です。基本的に、オブジェクトを比較する場合、obj1 == obj2 が同じオブジェクトを参照する場合にのみ true となり、それ以外の場合は結果が false になることを示しています。