将javascript中的两个日期与年份进行比较< 100和> 100

时间:2017-03-27 19:52:42

标签: javascript

为什么javascript日期比较会返回错误答案?

new Date(99,0,1)< new Date(101,0,1) //result =false and year 99 is shown as 1999

我还发现date.getTime()方法的工作方式也类似,并且返回了错误的答案。

1 个答案:

答案 0 :(得分:1)

&#13;
&#13;
console.log(new Date(99,0,1));
console.log(new Date(101,0,1));
&#13;
&#13;
&#13;

Date对象的构造函数就像

new Date(year, month[, date[, hours[, minutes[, seconds[, milliseconds]]]]]);

如果year值为0到99,那么Javascript会将该值映射到1900年到1999年的年份。

因此,new Date(99,0,1)已映射到1999-01-01,而日期new Date(101,0,1)已映射到0101-01-01,后者较小,因此您获得了结果。