gpt4 book ai didi

javascript - 使用 JavaScript 比较两个日期未按预期工作

转载 作者:行者123 更新时间:2023-12-03 16:32:21 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Compare two dates with JavaScript

(42 个回答)


7年前关闭。




这是我的javascript代码:

var prevDate = new Date('1/25/2011'); // the string contains a date which
// comes from a server-side script
// may/may not be the same as current date

var currDate = new Date(); // this variable contains current date
currDate.setHours(0, 0, 0, 0); // the time portion is zeroed-out

console.log(prevDate); // Tue Jan 25 2011 00:00:00 GMT+0500 (West Asia Standard Time)
console.log(currDate); // Tue Jan 25 2011 00:00:00 GMT+0500 (West Asia Standard Time)
console.log(prevDate == currDate); // false -- why oh why

请注意,两个日期相同,但使用 == 进行比较表示它们不相同。为什么?

最佳答案

我不认为你可以使用 ==比较 JavaScript 中的日期。这是因为它们是两个不同的对象,所以它们不是“对象相等的”。 JavaScript 允许您使用 == 比较字符串和数字,但所有其他类型都作为对象进行比较。

那是:

var foo = "asdf";
var bar = "asdf";
console.log(foo == bar); //prints true

foo = new Date();
bar = new Date(foo);
console.log(foo == bar); //prints false

foo = bar;
console.log(foo == bar); //prints true

但是,您可以使用 getTime获得可比较数值的方法:
foo = new Date();
bar = new Date(foo);
console.log(foo.getTime() == bar.getTime()); //prints true

关于javascript - 使用 JavaScript 比较两个日期未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4790828/

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