如何使用 moment.js 获取两个不同日期变量之间的时间差,特别是年、月和日?
我找到了这个方法,但我总是得到奇怪的结果。有时结果提前一个月所以我添加了减去一个月的部分以使结果正确,但是当两个日期之间的差异可以分为整年时它就会落后一个月,但是如果我删除减去月份部分,它变得更加困惑。
我也想将其格式化为“X年,Y月,Z天”,但也不知道如何以这种方式格式化。
var dateOne = new Date(2000,07,16);
var dateTwo = new Date (1990,07,16);
var updatedDate = moment(dateOne).format('ll');
var x = moment(dateOne, 'DD/MM/YYYY').diff(moment(dateTwo, 'DD/MM/YYYY'))
var y = moment.duration(x);
var why = moment(x).subtract(1, 'M');
var z = Math.floor(y.asYears()) + moment.utc(why).format('/MM/DD');
console.log(z);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
最佳答案
也许试试这个?
var firstDate = moment();
var secondDate = moment("2018-03-19");
var yearDiff = firstDate.diff(secondDate, "year");
var monthDiff = firstDate.diff(secondDate, "month");
var dayDiff = firstDate.diff(secondDate, "day");
console.log(yearDiff + " Years, " + monthDiff + " Months, " + dayDiff + " Days");
关于javascript - Moment.js 两个日期之间的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54799494/