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.
var isLeapYear = require( '@stdlib/assert/is-leap-year' );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-
If not provided any
arguments, the function returns abooleanindicating if the current year (according to local time) is a leap year. -
If provided a
valuewhich is neither an integer value nor aDate, the function always returnsfalse.var bool = isLeapYear( '2016' ); // returns false bool = isLeapYear( null ); // returns false
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' );
}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/'.
-
If the split separator is a regular expression, ensure that the
splitoption 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.
$ is-leap-year
<boolean>
$ is-leap-year 1993
falseTo use as a standard stream,
$ echo -n 1992 | is-leap-year
trueBy 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