我试图以年、月、日为单位计算两个日期之间的差异。到目前为止,我已经尝试了我所知道的一切,但到目前为止我还没有得到我想要得到的。
这是我最后一次尝试,问题在于我将 5 年转换为月和日,而不是获得剩余年数、剩余月数和天数的差异,
button.addEventListener('click',()=>{
let m = moment(selectDate.value);
let applyingDate = m.add(5,"years");
let cur = moment();
let diff = applyingDate - cur;
let years = Math.floor(diff/(1000*60*60*24)/365);
let months = Math.floor(diff/(1000*60*60*24)/365/12);
let days = Math.floor(diff/(1000*60*60*24)/30);
console.log(years,months,days);
});
有什么帮助吗?对这个概念的解释将不胜感激<3
答案 0 :(得分:0)
看起来您已经在使用 moment.js
,我建议您查看文档中的 durat section,因为它提供了一种非常好的方式来满足您的需求。
对于您的用例,我相信这可以解决您的问题:
let m = moment(selectDate.value);
let applyingDate = m.add(5,"years");
let cur = moment();
const diffDuration = moment.duration(applyingDate.diff(cur))
return [
diffDuration.years(),
diffDuration.months(),
diffDuration.days()
]
它与我创建的this fiddle非常相似