为什么javascript日期比较会返回错误答案?
new Date(99,0,1)< new Date(101,0,1) //result =false and year 99 is shown as 1999
我还发现date.getTime()方法的工作方式也类似,并且返回了错误的答案。
答案 0 :(得分:1)
console.log(new Date(99,0,1));
console.log(new Date(101,0,1));
&#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
,后者较小,因此您获得了结果。