Skip to main content
Very Popular
Latest
File
import getQuarter from '../getQuarter/index.ts'import toDate from '../toDate/index.ts'import requiredArgs from '../_lib/requiredArgs/index.ts'
/** * @name differenceInCalendarQuarters * @category Quarter Helpers * @summary Get the number of calendar quarters between the given dates. * * @description * Get the number of calendar quarters between the given dates. * * ### 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} dateLeft - the later date * @param {Date|Number} dateRight - the earlier date * @returns {Number} the number of calendar quarters * @throws {TypeError} 2 arguments required * * @example * // How many calendar quarters are between 31 December 2013 and 2 July 2014? * var result = differenceInCalendarQuarters( * new Date(2014, 6, 2), * new Date(2013, 11, 31) * ) * //=> 3 */export default function differenceInCalendarQuarters( dirtyDateLeft: Date | number, dirtyDateRight: Date | number): number { requiredArgs(2, arguments)
const dateLeft = toDate(dirtyDateLeft) const dateRight = toDate(dirtyDateRight)
const yearDiff = dateLeft.getFullYear() - dateRight.getFullYear() const quarterDiff = getQuarter(dateLeft) - getQuarter(dateRight)
return yearDiff * 4 + quarterDiff}