使用字符串输入获取两个日期之间的差异

Get difference between two dates with inputs of string

想得到两个日期之间的差异。

输入: Dec 2016 to Feb 2018(字符串)

预期输出: 1 year 2 months

有没有优化的方法来实现这个?

你可以使用 moment 库,它的 duration 函数可以得到你想要的相同结果。

以上问题的实现如下:

function dateDiff(d1, d2) {
  return moment.duration(Math.abs(moment(d1, 'MMM YYYY').diff(moment(d2, 'MMM YYYY'))))
}

let diffDuration = dateDiff('Dec 2016', 'Nov 2019')
diffDuration

var years = diffDuration.years(), months = diffDuration.months();
console.log(years + ' years ' + months + ' months');
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>