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: is-leap-year [options] [<year>]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
         --split sep           Delimiter for stdin data. Default: '/\\r?\\n/'.

Notes

  • If the split separator is a regular expression, ensure that the split option is either properly escaped or enclosed in quotes.

    # Not escaped...
    $ echo -n $'1993\n1992' | is-leap-year --split /\r?\n/
    # Escaped...
    $ echo -n $'1993\n1992' | is-leap-year --split /\\r?\\n/
    
  • The implementation ignores trailing delimiters.

Examples

$ is-leap-year
<boolean>

$ is-leap-year 1993
false

To use as a standard stream,

$ echo -n 1992 | is-leap-year
true

By default, when used as a standard stream, the implementation assumes newline-delimited data. To specify an alternative delimiter, set the split option.

$ echo -n '1992\t1993' | is-leap-year --split '\t'
true
false
Did you find this page helpful?