1234567891011121314151617181920212223242526272829 |
- import toDate from "../toDate/index.js";
- import requiredArgs from "../_lib/requiredArgs/index.js";
- /**
- * @name endOfQuarter
- * @category Quarter Helpers
- * @summary Return the end of a year quarter for the given date.
- *
- * @description
- * Return the end of a year quarter 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 quarter
- * @throws {TypeError} 1 argument required
- *
- * @example
- * // The end of a quarter for 2 September 2014 11:55:00:
- * const result = endOfQuarter(new Date(2014, 8, 2, 11, 55, 0))
- * //=> Tue Sep 30 2014 23:59:59.999
- */
- export default function endOfQuarter(dirtyDate) {
- requiredArgs(1, arguments);
- var date = toDate(dirtyDate);
- var currentMonth = date.getMonth();
- var month = currentMonth - currentMonth % 3 + 3;
- date.setMonth(month, 0);
- date.setHours(23, 59, 59, 999);
- return date;
- }
|