gpt4 book ai didi

JavaScript 日期对象比较

转载 作者:IT王子 更新时间:2023-10-29 02:49:30 24 4
gpt4 key购买 nike

在 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

我如何比较这些日期的相等性?我有兴趣利用 JS 的原生 Date 对象,而不是任何第三方库,因为使用第三方 JS 只是为了比较日期是不合适的。

最佳答案

那是因为在第二种情况下,比较实际的日期对象,并且两个对象永远不会彼此相等。强制他们编号:

 alert( +startDate2 == +startDate3 ); // true

如果您想更明确地转换为数字,请使用:

 alert( startDate2.getTime() == startDate3.getTime() ); // true

 alert( Number(startDate2) == Number(startDate3) ); // true

哦,对规范的引用:§11.9.3 The Abstract Equality Comparison Algorithm这基本上是说在比较对象时,obj1 == obj2 仅当它们引用同一对象时才为真,否则结果为假。

关于JavaScript 日期对象比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7606798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com