当我写这篇文章时,我遇到了以下问题:
const date = new Date();
date.setMonth(5);
date.getMonth(); // returns 6
date.setMonth(4);
date.getMonth(); // returns 4
为什么?
答案 0 :(得分:0)
问题并非每次都发生,只有当您在某个日期进行尝试时,当天是当月的第31天。
所以今天是2018年5月31日。
当您设置的月份不是31天长的月份时,那天就会溢出,月份会自动增加1。
const date = new Date();
console.log(date.getMonth(), date.getDate()); // 4 31
date.setMonth(5);
console.log(date.getMonth(), date.getDate()); // 6 1