1234567891011121314151617181920212223242526272829303132 |
- var parse = require('../parse/index.js')
- /**
- * @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.
- *
- * @param {Date|String|Number} dateLeft - the later date
- * @param {Date|String|Number} dateRight - the earlier date
- * @returns {Number} the number of calendar months
- *
- * @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
- */
- function differenceInCalendarMonths (dirtyDateLeft, dirtyDateRight) {
- var dateLeft = parse(dirtyDateLeft)
- var dateRight = parse(dirtyDateRight)
- var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear()
- var monthDiff = dateLeft.getMonth() - dateRight.getMonth()
- return yearDiff * 12 + monthDiff
- }
- module.exports = differenceInCalendarMonths
|