123456789101112131415161718192021222324252627282930313233343536 |
- import toDate from "../toDate/index.js";
- import requiredArgs from "../_lib/requiredArgs/index.js";
- /**
- * @name differenceInCalendarMonths
- * @category Month Helpers
- * @summary Get the number of calendar months between the given dates.
- *
- * @description
- * Get the number of calendar months 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 months
- * @throws {TypeError} 2 arguments required
- *
- * @example
- * // How many calendar months are between 31 January 2014 and 1 September 2014?
- * var result = differenceInCalendarMonths(
- * new Date(2014, 8, 1),
- * new Date(2014, 0, 31)
- * )
- * //=> 8
- */
- export default function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) {
- requiredArgs(2, arguments);
- var dateLeft = toDate(dirtyDateLeft);
- var dateRight = toDate(dirtyDateRight);
- var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();
- var monthDiff = dateLeft.getMonth() - dateRight.getMonth();
- return yearDiff * 12 + monthDiff;
- }
|