isLeapYear

Test if a value corresponds to a leap year in the Gregorian calendar.

A leap year is defined as any year which is exactly divisible by 4, except for years which are exactly divisible by 100 and not by 400. In this definition, 100 corresponds to years marking a new century, and 400 corresponds to the length of the leap cycle.

Usage

var isLeapYear = require( '@stdlib/assert/is-leap-year' );

isLeapYear( [value] )

Tests if a value corresponds to a leap year in the Gregorian calendar.

var bool = isLeapYear();
// returns <boolean>

bool = isLeapYear( new Date() );
// returns <boolean>

bool = isLeapYear( 2000 );
// returns true

bool = isLeapYear( 2017 );
// returns false

Notes

  • If not provided any arguments, the function returns a boolean indicating if the current year (according to local time) is a leap year.

  • If provided a value which is neither an integer value nor a Date, the function always returns false.

    var bool = isLeapYear( '2016' );
    // returns false
    
    bool = isLeapYear( null );
    // returns false
    

Examples

var isLeapYear = require( '@stdlib/assert/is-leap-year' );

var bool;
var i;

for ( i = 0; i < 2021; i++ ) {
    bool = isLeapYear( i );
    console.log( 'The year %d %s a leap year.', i, ( bool ) ? 'is' : 'is not' );
}

CLI

Usage

Usage: isleapyear [options] [<year>]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.

Examples

$ isleapyear
<boolean>

$ isleapyear 1993
false

To use as a standard stream,

$ echo -n 1992 | isleapyear
true