import toDate from '../toDate/index.js'; import isLeapYear from '../isLeapYear/index.js'; /** * @name getDaysInYear * @category Year Helpers * @summary Get the number of days in a year of the given date. * * @description * Get the number of days in a year of the given date. * * ### v2.0.0 breaking changes: * * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). * * @param {Date|Number} date - the given date * @returns {Number} the number of days in a year * @throws {TypeError} 1 argument required * * @example * // How many days are in 2012? * var result = getDaysInYear(new Date(2012, 0, 1)) * //=> 366 */ export default function getDaysInYear(dirtyDate) { if (arguments.length < 1) { throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); } var date = toDate(dirtyDate); if (isNaN(date)) { return NaN; } return isLeapYear(date) ? 366 : 365; }