如何确定一年是否是JavaScript中的闰年

Min*_*rth 2 javascript datetime leap-year

我想确定一年是否是闰年.我不确定我在哪里遗漏了一些东西,因为这段代码是为了确定这一点.

谢谢你的帮助.

let Year = (year) => {
    this.year = year;
};

Year.prototype.isLeap = () => {
    return (
        this.year % 400 === 0 ||
        (this.year % 4 === 0 && (this.year % 100 === 0))
    );
};

let year = new Year(2014);

year.isLeap();
Run Code Online (Sandbox Code Playgroud)

谢谢,我已经弄清楚了.

最初我做的就是那些你们指向这里的If语句!所以我现在正在重构一个更干净的代码.

我的代码在这一行上有问题

(this.year % 4 === 0 && (this.year % 100 === 0))
Run Code Online (Sandbox Code Playgroud)

正确的语法是

(this.year % 4 === 0 && !(this.year % 100 === 0))
Run Code Online (Sandbox Code Playgroud)

bre*_*njt 6

您可以查看特定年份的2月29日,看看它是否会改变为3月1日.

const date = new Date(this.year, 1, 29);
return date.getMonth() === 1;
Run Code Online (Sandbox Code Playgroud)

如果getMonth()返回1,那么它仍然是2月,这意味着它的闰年.