Moment JS Leap Year Example

This post shows how to find leap year using moment.js library.

Check out complete moment.js library tutorial at Moment JS Tutorial.

The moment.js is a lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. Read more at the official documentation

Setting up Moment.js

1. Include moment.js in Script tag

We can directly include moment.js inside the script tag and start working with MomentJS.
<script src=""></script>

2. Using Node.js

Make sure you have Node.js and npm installed on your system. You can use the following command to install MomentJS −
npm install moment
Create a JavaScript file named "test.js" and add the following code to it:
var moment = require('moment');
var a = moment().toString();
Now, in the command prompt, run the command node test.js as shown in the below output −
C:\javascript\momentjs-demo>node test.js
Wed Jul 24 2019 17:12:22 GMT+0530
We are using node js to demonstrates this example.

Moment.js leap year example

A leap year is a year containing an additional day. The reason for an extra day in the calendar is the difference between the astronomical and the calendar year. In this example, we have an array of years. We determine which years are leap years.
const moment = require('moment');

// Assume year >= 1582 in the Gregorian calendar.

let years = [ 2000, 2002, 2004, 2008, 2012, 2016, 2020,
    1900, 1800, 1600 ];

for (year of years) {

    let ym = moment([year]);

    if (ym.isLeapYear()) {

        console.log(`${year} is a leap year`);
    } else {
        console.log(`${year} is not a leap year`);
Run above JavaScript code with the following command:
C:\javascript\momentjs-demo>node test.js
2000 is a leap year
2002 is not a leap year
2004 is a leap year
2008 is a leap year
2012 is a leap year
2016 is a leap year
2020 is a leap year
1900 is not a leap year
1800 is not a leap year
1600 is a leap year
Check out complete moment.js library tutorial at Moment JS Tutorial.