我在这里把头发拉一点。我知道==比较将始终在两个日期对象之间返回false。但实际上我不明白为什么无论我用哪种方式设置运算符,该代码每次都会返回false。

      var prevWeek         = response.prevWeek  // The date to compare.
      ,   pickedDate       = prevWeek.split("-");


      var pickedDate = new Date(pickedDate[0], pickedDate[1], pickedDate[2]);
      var todaysDate = new Date();
      console.log(pickedDate); // logs Thu Apr 17 2014 00:00:00 GMT+0100 (GMT)
      console.log(todaysDate); // logs Fri Nov 15 2013 18:30:13 GMT+0000 (GMT)

      var compareValueOf = pickedDate.valueOf() < todaysDate.valueOf();
      console.log(compare); // always returns false


      var compare2 = pickedDate < todaysDate;
      console.log(compare2); // always returns false
      var compare3 = pickedDate.getTime() < todaysDate.getTime();
      console.log(compare3); // always returns false

最佳答案

如果pickedDate设置为2014年,而todaysDate设置为2013年,则pickedDate不可能小于TodaysDate。

关于javascript - 无论使用哪个运算符,“日期比较”始终返回false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20008303/

10-09 01:20