import toDate from "../toDate/index.js"; import requiredArgs from "../_lib/requiredArgs/index.js"; /** * @name getDaysInMonth * @category Month Helpers * @summary Get the number of days in a month of the given date. * * @description * Get the number of days in a month of the given date. * * @param {Date|Number} date - the given date * @returns {Number} the number of days in a month * @throws {TypeError} 1 argument required * * @example * // How many days are in February 2000? * const result = getDaysInMonth(new Date(2000, 1)) * //=> 29 */ export default function getDaysInMonth(dirtyDate) { requiredArgs(1, arguments); var date = toDate(dirtyDate); var year = date.getFullYear(); var monthIndex = date.getMonth(); var lastDayOfMonth = new Date(0); lastDayOfMonth.setFullYear(year, monthIndex + 1, 0); lastDayOfMonth.setHours(0, 0, 0, 0); return lastDayOfMonth.getDate(); }