UNPKG

1.6 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = differenceInCalendarMonths;
7
8var _index = _interopRequireDefault(require("../toDate/index.js"));
9
10var _index2 = _interopRequireDefault(require("../_lib/requiredArgs/index.js"));
11
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14/**
15 * @name differenceInCalendarMonths
16 * @category Month Helpers
17 * @summary Get the number of calendar months between the given dates.
18 *
19 * @description
20 * Get the number of calendar months between the given dates.
21 *
22 * ### v2.0.0 breaking changes:
23 *
24 * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
25 *
26 * @param {Date|Number} dateLeft - the later date
27 * @param {Date|Number} dateRight - the earlier date
28 * @returns {Number} the number of calendar months
29 * @throws {TypeError} 2 arguments required
30 *
31 * @example
32 * // How many calendar months are between 31 January 2014 and 1 September 2014?
33 * var result = differenceInCalendarMonths(
34 * new Date(2014, 8, 1),
35 * new Date(2014, 0, 31)
36 * )
37 * //=> 8
38 */
39function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) {
40 (0, _index2.default)(2, arguments);
41 var dateLeft = (0, _index.default)(dirtyDateLeft);
42 var dateRight = (0, _index.default)(dirtyDateRight);
43 var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();
44 var monthDiff = dateLeft.getMonth() - dateRight.getMonth();
45 return yearDiff * 12 + monthDiff;
46}
47
48module.exports = exports.default;
\No newline at end of file