# isLeapYear > Test if a value corresponds to a [leap year][leap-year] in the [Gregorian calendar][gregorian-calendar]. A [leap year][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 ```javascript var isLeapYear = require( '@stdlib/assert/is-leap-year' ); ``` #### isLeapYear( \[value] ) Tests if a `value` corresponds to a [leap year][leap-year] in the [Gregorian calendar][gregorian-calendar]. ```javascript var bool = isLeapYear(); // returns bool = isLeapYear( new Date() ); // returns 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][leap-year]. - If provided a `value` which is neither an integer value nor a [`Date`][date-object], the function **always** returns `false`. ```javascript var bool = isLeapYear( '2016' ); // returns false bool = isLeapYear( null ); // returns false ```
## Examples ```javascript 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 ```text Usage: is-leap-year [options] [] Options: -h, --help Print this message. -V, --version Print the package version. ```
### Examples ```bash $ is-leap-year $ is-leap-year 1993 false ``` To use as a [standard stream][standard-streams], ```bash $ echo -n 1992 | is-leap-year true ```