moment js 计算过去某个时期到今天,过去了几年几月几日

实现代码

使用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)

最终实现

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值