我正在学习JavaScript。这是我的问题:
我比较两个日期以确定它们是否相等。为此,我在两个日期使用valueOf()
,但是当我检查相同日期时返回不同的值。
var today=new Date();
today.setHours(0,0,0);//first date
dbDate=new Date(inputArray[i].updatedAt.iso);
dbDate.setHours(0,0,0);//second date from my db
alert('compare');
alert(today);
alert(today.valueOf());
alert(dbDate);
alert(dbDate.valueOf());
alert(today.valueOf()===dbDate.valueOf())
if(today.valueOf()===dbDate.valueOf())//comparing
{
alert('curr day if');
outArray.push(inputArray[i]);
}
我的系统时间是3月5日(我将时间配置设置为马来标准日期)。我从数据库中检索的日期也是3月5日,但两者都返回不同的值,我的比较并没有按预期工作。
我在这里做错了什么?
答案 0 :(得分:2)
valueOf返回毫秒,因此您也应该在setHours中设置毫秒数。就像那个.setHours(0,0,0, 0 )