/**
* 计算两个日期的时长,返回x年x月x日,传入时间戳
*/
export function getDateDurations (startDate, endDate) {
let startYear = parseInt(moment(startDate).format('YYYY'))
let startMonth = parseInt(moment(startDate).format('MM'))
let startDay = parseInt(moment(startDate).format('DD'))
let endYear = parseInt(moment(endDate).format('YYYY'))
let endMonth = parseInt(moment(endDate).format('MM'))
let endDay = parseInt(moment(endDate).format('DD')) + 1
let currentMonthDays = 31
if ([1,3,4,7,8,10,12].includes(startMonth)) {
currentMonthDays = 31
} else if ([4,6,9,11].includes(startMonth)) {
currentMonthDays = 30
} else if (startMonth === 2) {
currentMonthDays = 28
}
let monthJ1 = false // 是否需要向上级月份借位
let yearJ1 = false // 是否需要向上级年份借位
let mDay = endDay - startDay
let mMonth = endMonth - startMonth
let mYear = endYear - startYear
if (mDay < 0) {
monthJ1 = true
mDay = mDay + currentMonthDays
}
if (monthJ1) {
mMonth = mMonth - 1
}
if (mMonth < 0) {
yearJ1 = true
mMonth = mMonth + 12
}
if (mYear > 0) {
if (yearJ1) {
mYear = mYear - 1
}
}
return (mYear ? mYear + '年' : '') + (mMonth ? mMonth + '月' : '') + (mDay ? mDay + '日' : '')
}
年月日借位相减,输入两个时间点的 年月日
猜你喜欢
转载自blog.csdn.net/github_35631540/article/details/103263481
今日推荐
周排行