`date.setMonth`如果`date`是在月底,会导致月份设置得太高。
- 论坛
- `date.setMonth`如果`date`是在月底,会导致月份设置得太高。
8 浏览
`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() 返回错误的值。