Javascript 比较jquery脚本中的两个日期

Javascript 比较jquery脚本中的两个日期,javascript,jquery,date,date-comparison,Javascript,Jquery,Date,Date Comparison,我试图在浏览器控制台中比较两个相同的日期,结果是false。我不明白这两个日期是一样的,怎么比较呢 $(函数() { var d1=新日期(“2001年12月1日”); var d2=新日期(“2001年12月1日”); console.log(d1==d2); }); 它正在检查对象是否相等。而是比较时间 $(函数() { var d1=新日期(“2001-12-01”); var d2=新日期(“2001-12-01”); console.log(d1.getTime()==d2.get

我试图在浏览器控制台中比较两个相同的日期,结果是
false
。我不明白这两个日期是一样的,怎么比较呢

$(函数()
{
var d1=新日期(“2001年12月1日”);
var d2=新日期(“2001年12月1日”);
console.log(d1==d2);
});

它正在检查对象是否相等。而是比较时间

$(函数()
{
var d1=新日期(“2001-12-01”);
var d2=新日期(“2001-12-01”);
console.log(d1.getTime()==d2.getTime());
});

根据世界时,使用与指定日期的时间相对应的数值

在你的情况下,使用这个


console.log((新日期(“2001-12-01”)).getTime()==(新日期(“2001-12-01”).getTime())首先需要格式化日期时间字符串

var d1 = new Date("01-12-2001");
var d2 = new Date("01-12-2001");

console.log(d1.toLocaleDateString() == d2.toLocaleDateString());

除了在某些浏览器中,结果是
NaN==NaN
,该结果始终为false。@RobG OP正在比较两个日期对象,并期望为true。那不会发生。建议是比较时间。在某些浏览器(即其中之一)中,日期模式无法识别,因此您得到NaN。当然,这必须得到处理,或者日期格式需要更改为可接受的格式。这个答案在Safari或Firefox中“不起作用”。这将有助于OP在同一个答案中解决解析问题,而不是让他们稍后发现并不得不问另一个问题。“工作”取决于您对结果的预期。“01-12-2001”不是ECMA-262支持的格式,因此解析依赖于实现。至少有两个当前浏览器将返回一个无效的日期,在Safari和Firefox中返回false。@RobG-是的,我错过了那个解析日期。