js获取当前月份天数,获取指定月份的天数

获取当前月份天数:

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"));

你可能感兴趣的:(JS,javascript,开发语言,ecmascript)