Javascript日期未显示为相等,尽管getTime()函数显示日期等于

时间:2016-02-01 13:23:36

标签: javascript

我在某处读到你无法使用日期对象比较Javascript日期,但你可以使用getTime()。

这主要适合我,除了一个约会。这是我的代码:

if (d1.getTime() != d2.getTime()) {
    // Dates are not equal, new data present
    Logger.log(d1); // Fri Jul 17 08:15:14 GMT+02:00 2015
    Logger.log(d2); // Fri Jul 17 08:15:14 GMT+02:00 2015
}

对我而言,这些看起来完全相同。

正在解析的电子表格中的其他308行也显示为相等。

==编辑==

比较日期的毫秒数,它们实际上并不相等。这是荒谬的,好像它们不相等,然后将新日期插入到CouchDB中,并成为下一个脚本运行时的比较日期(不更改日期)。因此,在这种情况下,CouchDB必须截断毫秒。

2 个答案:

答案 0 :(得分:1)

毫秒可能存在差异。请查看以下示例以供参考:



var d1 = new Date();
var d2 = new Date();
d2.setMilliseconds(d2.getMilliseconds() + 2);

console.log(+d1, +d2);
console.log(d1, d2);
console.log(+d1 === +d2);




答案 1 :(得分:0)

当您使用get_class($class)时,您将获得毫秒级的时间戳。因此,如果它们引用相同的毫秒时间戳,它们将是相等的。如果您有兴趣比较它们的字符串表示:

getTime

修改:抱歉,之前的格式错误。