实现代码
使用moment 和js.实现计算过去时间。
function testDiff(chooseDate){
console.log("今天日期:",moment().format('YYYY MM DD'),"传入的日期:",chooseDate.format('YYYY MM DD'))
let diffyear=moment().diff(chooseDate, 'years');
let diffmonths=moment().diff(chooseDate, 'months');
let diffdays=moment().diff(chooseDate, 'days');
let compareValue = moment().date()-chooseDate.date()
if(diffmonths>11){
//超过一年
diffmonths=diffmonths-(diffyear*12)
}
if(compareValue===0){
//同一天
diffdays=0
}else if(compareValue<0){
//选择的日子要大于当天,拿选择日期的那个月天数+差值=得到距离天数
diffdays=chooseDate.daysInMonth()+compareValue;
}else {
diffdays=compareValue
}
let result={ year:diffyear,mounth:diffmonths,day:diffdays}
console.log("结果===》result:",result)
return result
}
测试
ar changetime1 = moment().subtract(1,"month")
var changetime2 = moment().subtract(1,"year").subtract(2,"day")
var changetime3 = moment().subtract(1,"year").subtract(1,"day")
var changetime4 = moment().subtract(1,"year")
var changetime5 = moment().subtract(1,"year").add(1,"day")
var changetime6 = moment().subtract(1,"year").add(2,"day")
var changetime7 = moment().subtract(1,"year").add(2,"month")
var changetime8 = moment().subtract(2,"year").endOf("month")
var changetime9 = moment().subtract(2,"year").add(1,"month").endOf("month")
var changetime10 = moment().subtract(2,"year").add(2,"month").endOf("month")
testDiff(changetime1)
testDiff(changetime2)
testDiff(changetime3)
testDiff(changetime4)
testDiff(changetime5)
testDiff(changetime6)
testDiff(changetime7)
testDiff(changetime8)
testDiff(changetime9)
testDiff(changetime10)