lsc-utils
Version:
一般常用的前端工具类
34 lines (33 loc) • 922 B
JavaScript
/**
* 计算两个时间差 x年x月x日
* @param startTime 开始时间
* @param endTime 结束时间
*/
export function monthDayDiff (startTime, endTime) {
const flag = [1, 3, 5, 7, 8, 10, 12, 4, 6, 9, 11, 2]
const start = new Date(startTime)
const end = new Date(endTime)
let year = end.getFullYear() - start.getFullYear()
let month = end.getMonth() - start.getMonth()
let day = end.getDate() - start.getDate()
if (month < 0) {
year--
month = end.getMonth() + (12 - start.getMonth())
}
if (day < 0) {
month--
const index = flag.findIndex((temp) => {
return temp === start.getMonth() + 1
})
let monthLength
if (index <= 6) {
monthLength = 31
} else if (index > 6 && index <= 10) {
monthLength = 30
} else {
monthLength = 28
}
day = end.getDate() + (monthLength - start.getDate())
}
return `${year}岁${month}月${day}天`
}