先理解思路,方法很简单,刚开始我搞混了month,所以在这里记录一下。
new Date
的month
是从0-11
- 求当月多少天, 可以利用
new Date().getDate()
从Date
对象返回一个月中的某一天(1 ~ 31)
- 知道当月的最后一天就可以知道一个月有多少天
day
为0
就是上个月的最后一天, 所以new Date(2023, 2, 0)
即 2023年3月的第0天,2月的最后一天,为28
// month 当月,无需减 1 传入, day 为 0 则是获取上个月的最后一天到月初,即当月天数
function getDaysInMonth(year, month) {
return new Date(year, month, 0).getDate();
}
示例
// 调用函数并传入月份和年份
// 获取2023年2月有多少天
var daysInMonth = getDaysInMonth(2023, 2);
console.log("该月有 " + daysInMonth + " 天。");
// 结果: 该月有 28 天。