如何处理闰年的特殊情况?
时间: 2024-12-22 15:27:02 浏览: 4
在JavaScript中处理闰年的特殊情况,通常是在计算2月份天数时。闰年规则是每4年有一次闰年,但是如果是世纪年(例如1900、2000),则需要满足能被400整除才是闰年,不能被100整除但能被400整除的则是例外。以下是更新后的代码片段:
```javascript
function isLeapYear(year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
function getMonthDays(year = new Date().getFullYear()) {
let now = new Date(year, 1 - 1); // 减1是因为getMonth从0开始计数,所以一月对应的是-1
let monthDays = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // 一般月份天数
if (isLeapYear(now.getFullYear())) {
monthDays[1] = 29; // 如果是闰年,将2月的天数设为29
}
return monthDays[now.getMonth()];
}
console.log(getMonthDays()); // 输出当前年份的2月天数,如果闰年则为29
```
这个版本的`getMonthDays`函数会先检查传入的年份是否是闰年,如果是,则2月份有29天,否则按照常规天数计算。
阅读全文