在JavaScript中计算两个日期之间相差的年份,可以通过以下基础概念和方法来实现:
基础概念:
Date
对象:用于处理日期和时间。实现方法:
function getYearDiff(date1, date2) {
const d1 = new Date(date1);
const d2 = new Date(date2);
let yearDiff = d2.getFullYear() - d1.getFullYear();
// 如果 d2 的月份小于 d1 的月份,或者月份相同但日期小于 d1 的日期,则年份差减 1
if (d2.getMonth() < d1.getMonth() || (d2.getMonth() === d1.getMonth() && d2.getDate() < d1.getDate())) {
yearDiff--;
}
return yearDiff;
}
// 示例用法
const date1 = '2010-05-10';
const date2 = '2023-03-05';
console.log(getYearDiff(date1, date2));
优势:
应用场景:
可能出现的问题及原因:
2020-12-01
和 2021-01-01
,直接相减会得到 1 年,但实际上还未满 1 年。解决方法就是像上面示例代码中那样,在计算年份差后,再根据月份和日期进行判断和调整。
领取专属 10元无门槛券
手把手带您无忧上云