获取当前月份天数:
- let date = new Date();
- date.setMonth(date.getMonth() + 1); // 先设置为下个月
- date.setDate(0); // 再置0,变成当前月最后一天
- console.log(date.getDate()); // 当前月最后一天即当前月拥有的天数
核心方法: setDate(dayValue)
如果为 dayValue 指定 0,那么日期就会被设置为上个月的最后一天。
Date.prototype.setDate() - JavaScript | MDN
扩展:获取指定月份天数
例如指定月份格式:"2018-10"
- function getMonthDays(target) {
- let date = new Date(target + "-01"); // 移动端使用格式要转成: "2018/10/01"
- date.setMonth(date.getMonth() + 1); // 先设置为下个月
- date.setDate(0); // 再置0,变成当前月最后一天
- return date.getDate(); // 当前月最后一天即当前月拥有的天数
- }
- console.log(getMonthDays("2018-10"));
-
- 或者
-
- function getMonthDays2(target) {
- let year = target.split('-')[0];
- let month = target.split('-')[1];
- let date = new Date(year, month, 0); // 这里的month,比我们日常说的几月份小1,10则表示11月份
- return date.getDate();
- }
- console.log(getMonthDays2("2018-10"));