function getDaysLeftInMonth(year, month) {
// 创建日期对象,默认当月第一天
let date = new Date(year, month - 1, 1);
// 获取下个月的日期对象,时间为0时0分0秒
let nextMonth = new Date(date);
nextMonth.setMonth(date.getMonth() + 1, 0);
// 计算当月剩余天数,即下个月的第一天(实际上是本月最后一天的后一天)减去本月第一天的毫秒数,然后转换为天数
return Math.ceil((nextMonth - date) / (1000 * 60 * 60 * 24));
}
// 示例:计算2024年9月剩余天数
let year = 2024;
let month = 9;
console.log(`${year}年${month}月剩余天数:${getDaysLeftInMonth(year, month)}`);
这段代码定义了一个函数`getDaysLeftInMonth`,它接受年份和月份作为参数,并返回该月份剩余的天数。通过在月份上增加1并设置日期为0(这会自动调整为下个月的最后一天),然后计算从本月第一天到这个“下个月第一天”之间的天数差,就可以得到本月的剩余天数。注意,JavaScript中的月份是从0开始的,所以传入的月份需要减1。