`date.setMonth`如果`date`是在月底,会导致月份设置得太高。

8 浏览
0 Comments

`date.setMonth`如果`date`是在月底,会导致月份设置得太高。

一个 Date 对象的 getMonth() 方法似乎有一个 bug。假设 Date 对象 d 是 2013-01-31,我尝试像这样设置 d 的月份:

const d = new Date(); // 2013-01-31

d.setMonth(8);

console.log(d.getMonth());

结果是 9。为什么?我在 Chrome 和 Firefox 中都进行了测试。

我发现当是一个月的 31 日、30 日或 29 日时,将日期设置为天数较少的月份会导致 getMonth() 返回错误的值。

0