日期函数的坑

var other = new Date;
other.setDate(31);
other.setMonth(2);
other.setFullYear(2016);
other.setMonth(1);
other.setDate(1);
console.log(other);

原以为这段代码得到的是21号,可他返回的却是31号。

分析一下:

other.setFullYear(2016); //2016-03-31

此时设置月份为2月:

other.setMonth(1); //2016-02-31 是错误的值,所以转成2016-03-02

再设置日期为1号:

other.setDate(1); //2016-03-01

你可能感兴趣的:(日期函数的坑)