js 计算两个日期之间的年数和月数
时间: 2023-10-14 17:21:01 浏览: 171
计算两个时间之间的年数、月数、天数等
可以使用 JavaScript 中的 Date 对象来计算两个日期之间的年数和月数。具体的方法如下:
```javascript
function getYearMonthDiff(date1, date2) {
let yearDiff = date2.getFullYear() - date1.getFullYear(); // 计算年份差值
let monthDiff = date2.getMonth() - date1.getMonth(); // 计算月份差值
if (monthDiff < 0 || (monthDiff === 0 && date2.getDate() < date1.getDate())) {
yearDiff--; // 如果月份差值小于0,或者月份差值为0但是日期差值也小于0,则年份差值减1
monthDiff += 12; // 月份差值加上12
}
return {
year: yearDiff,
month: monthDiff
};
}
let date1 = new Date('2020-01-01');
let date2 = new Date('2022-07-01');
let diff = getYearMonthDiff(date1, date2);
console.log(diff.year + '年' + diff.month + '月'); // 输出“2年6月”
```
在上面的代码中,`getYearMonthDiff` 函数接受两个 Date 对象作为参数,返回一个包含年份差值和月份差值的对象。该函数首先计算两个日期的年份差值和月份差值,然后根据月份差值是否小于0以及日期差值是否小于0来判断是否需要对年份差值进行调整。最后返回包含年份差值和月份差值的对象。
在运行该代码时,会输出“2年6月”,表示从 2020 年 1 月 1 日到 2022 年 7 月 1 日共经过了 2 年 6 个月。
阅读全文