UNPKG

date-fns-jalali

Version:

Modern JavaScript date utility library for jalali calendar

38 lines (35 loc) 1.31 kB
import { toDate } from "./toDate.mjs"; import { getFullYear as coreGetFullYear } from "./_core/getFullYear.mjs"; import { setFullYear as coreSetFullYear } from "./_core/setFullYear.mjs"; /** * @name endOfDecade * @category Decade Helpers * @summary Return the end of a decade for the given date. * * @description * Return the end of a decade for the given date. * * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). * * @param date - The original date * * @returns The end of a decade * * @example * // The end of a decade for 12 May 1984 00:00:00: * const result = endOfDecade(new Date(1984, 4, 12, 00, 00, 00)) * //=> Dec 31 1989 23:59:59.999 */ export function endOfDecade(date) { // TODO: Switch to more technical definition in of decades that start with 1 // end with 0. I.e. 2001-2010 instead of current 2000-2009. It's a breaking // change, so it can only be done in 4.0. const _date = toDate(date); const year = coreGetFullYear(_date); const decade = 9 + Math.floor(year / 10) * 10; coreSetFullYear(_date, decade + 1, 0, 0); _date.setHours(23, 59, 59, 999); return _date; } // Fallback for modularized imports: export default endOfDecade;