为什么这两个日期在javascript中不相等
Why these two dates are not equal in javascript?
我比较objA和objB中的两个日期,它们不等于以下控制台输出所显示的。
我不明白为什么…
objA[keysA[i]]
Sun Sep 25 2016 00:00:00 GMT+0900 (KST)
objB[keysA[i]]
Sun Sep 25 2016 00:00:00 GMT+0900 (KST)
typeof objA[keysA[i]]
"object"
typeof objB[keysA[i]]
"object"
objA[keysA[i]] !== objB[keysA[i]]
true
在JavaScript中,你通过引用来比较对象。
let a = {};
let b = {};
let c = a;
a == b //false
a == c //true
比较对象的一种简单方法是将对象转换为字符串并比较该字符串。您可以使用Date.prototype.toString
来比较Date
对象,如
objA[keysA[i]].toString() !== objB[keysA[i]]].toString() //false
您需要对日期进行字符串化&这样比较它们。例如:
var date1 = new Date();
var date2 = new Date();
console.log (date1==date2); // This will print false
但是如果我们将日期字符串化并以这种方式进行比较,这将成为真的,如下所示:
console.log (date1.toString() === date2.toString())
相关文章:
- 将日期和时间转换为UTC格式的日期-Javascript
- 将 DD/MMM/YYYY 转换为二进制/纪元日期 JavaScript
- 生成时间戳日期|Javascript范围内的空数据
- 算法导航:如何查找最近的日期(javascript)
- 按日期javascript对JSON数据进行排序
- 可以使用日期 JavaScript 字符串
- 倒计时日期 - Javascript
- 将日期添加到日期以使明天成为当前日期 - Javascript
- 交货日期 Javascript 适应排除周末
- 在文本框中显示当前日期 - JavaScript
- 将json结果转换为正确的日期javascript
- 选择日期-javascript
- 修改时区新日期javascript
- 获取上月日期javascript
- 日期.javascript日期格式
- PHP生成日期->Javascript倒计时
- 如何根据给定的日期JavaScript计算3个月的日期
- 排序数组的日期- javascript
- 为什么日期.UTC(2015, 08, 31) ==日期.javascript中的UTC(2015,09, 01)
- 根据它创建的时区显示日期- JavaScript