javascript Dateオブジェクトを使ってイコールで日付比較して結果が一致しない
- 作成日 2020.09.09
- 更新日 2022.06.20
- javascript
- javascript
javascriptで、dateオブジェクトを使って、そのままイコールで日付を比較すると同じ値であってもfalseがかえってくるので比較方法を記述してます。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 102.0.5005.115
日付比較
dateオブジェクトを使って、イコールで日付を比較します。
// 日付を設定
let date1 = new Date("2020/05/11");
let date2 = new Date("2020/05/11");
// 比較
if (date1 == date2) {
console.log("同じ日付");
} else{
console.log("異なる日付"); // falseと判定される
}
結果は「false」が返ってきて、「異なる日付」と表示されてします。
if (date1 === date2) としても結果は同じです。
日付比較方法
比較したい場合は「getTime()」を使用して、1970 年1月1 日00:00:00からの経過ミリ秒を取得して比較すると正しい結果を得ることが可能です。
if (date1.getTime() == date2.getTime()) {
console.log("同じ日付"); // 同じ日付となる
} else{
console.log("異なる日付");
}
また、条件式は以下のように三項演算子を使用すると1行で記述することもできます。
(date1.getTime() == date2.getTime()) ? console.log("同じ日付") : console.log("異なる日付");
-
前の記事
javascript html要素のテキストを変更する 2020.09.09
-
次の記事
React.js ライブラリ「react-rubber-slider」を使ってちょっと変わったスライダーを実装する 2020.09.09
コメントを書く