[解決済み] JavaScriptの日付オブジェクトの比較
2023-02-22 23:57:25
質問
Javascriptで日付オブジェクトを比較する際、同じ日付を比較してもtrueが返らないことがあります。
var startDate1 = new Date("02/10/2012");
var startDate2 = new Date("01/10/2012");
var startDate3 = new Date("01/10/2012");
alert(startDate1>startDate2); // true
alert(startDate2==startDate3); //false
これらの日付の等質性を比較するにはどうしたらよいでしょうか?私は、ネイティブの
Date
オブジェクトを利用することに興味があり、サードパーティライブラリは利用しません。
どのように解決するのですか?
それは、2番目のケースでは、実際の日付オブジェクトが比較され、2つのオブジェクトが互いに等しくなることはないからです。それらを数値に強制します。
alert( +startDate2 == +startDate3 ); // true
より明確に数値に変換したい場合は、どちらかを使用します。
alert( startDate2.getTime() == startDate3.getTime() ); // true
または
alert( Number(startDate2) == Number(startDate3) ); // true
あ、仕様書への言及です。§11.9.3
抽象的な等価比較のアルゴリズム
では、基本的にオブジェクトを比較するときに
obj1 == obj2
は同じオブジェクトを参照している場合のみ真となり、それ以外の場合は偽となります。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] JavaScriptの日付の書式設定方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] ECMAScriptとは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] JavaScriptのtoString()関数をオーバーライドして、デバッグ用に意味のある出力を提供することは可能でしょうか?
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] TypeScriptプロジェクトで既存のC#クラス定義を再利用する方法
-
[解決済み] JavaScript で css プロパティを使用して HTML 要素の背景色を設定する方法
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?