12345678910111213141516171819202122232425262728 |
- import toDate from "../toDate/index.js";
- import requiredArgs from "../_lib/requiredArgs/index.js";
- /**
- * @name endOfMonth
- * @category Month Helpers
- * @summary Return the end of a month for the given date.
- *
- * @description
- * Return the end of a month for the given date.
- * The result will be in the local timezone.
- *
- * @param {Date|Number} date - the original date
- * @returns {Date} the end of a month
- * @throws {TypeError} 1 argument required
- *
- * @example
- * // The end of a month for 2 September 2014 11:55:00:
- * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))
- * //=> Tue Sep 30 2014 23:59:59.999
- */
- export default function endOfMonth(dirtyDate) {
- requiredArgs(1, arguments);
- var date = toDate(dirtyDate);
- var month = date.getMonth();
- date.setFullYear(date.getFullYear(), month + 1, 0);
- date.setHours(23, 59, 59, 999);
- return date;
- }
|