isLeapYear.js 622 Bytes
Newer Older
Manggar Mahardhika's avatar
Manggar Mahardhika committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
import DeveloperError from "./DeveloperError.js";

/**
 * Determines if a given date is a leap year.
 *
 * @function isLeapYear
 *
 * @param {Number} year The year to be tested.
 * @returns {Boolean} True if <code>year</code> is a leap year.
 *
 * @example
 * var leapYear = Cesium.isLeapYear(2000); // true
 */
function isLeapYear(year) {
  //>>includeStart('debug', pragmas.debug);
  if (year === null || isNaN(year)) {
    throw new DeveloperError("year is required and must be a number.");
  }
  //>>includeEnd('debug');

  return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
}
export default isLeapYear;