javascript valueOf()返回相同日期的不同整数值

时间:2017-03-06 06:58:11

标签: javascript

我正在学习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日,但两者都返回不同的值,我的比较并没有按预期工作。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

valueOf返回毫秒,因此您也应该在setHours中设置毫秒数。就像那个.setHours(0,0,0, 0