计算开始时间与结束时间相差几个月
计算开始时间与结束时间相差几个月。
useEffect(() => {
const data = getDistanceMonth(2022-07-01, 2022-12-31)
console.log(data) // 6个月
}, [])
封装的方法:
const getDistanceMonth = (startTime, endTime) => {
startTime = new Date(startTime)
endTime = new Date(endTime)
let dateToMonth = 0
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const startDate = startTime.getDate() + startTime.getHours() / 24 + startTime.getMinutes() / 24 / 60
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const endDate = endTime.getDate() + endTime.getHours() / 24 + endTime.getMinutes() / 24 / 60
if (endDate >= startDate) {
dateToMonth = 0
} else {
dateToMonth = -1
}
const yearToMonth = (endTime.getYear() - startTime.getYear()) * 12
const monthToMonth = endTime.getMonth() - startTime.getMonth()
return yearToMonth + monthToMonth + dateToMonth + 1
}