两个日期之间确切的月份差异-MomentJS

时间:2020-03-19 10:16:14

标签: javascript node.js momentjs

我需要知道月份之间的差异,但是考虑到只有28天的月份,我无法根据天数进行计算。

我真的需要带出两个月之间的差额。

格式:YYYY / DD / MM

旧:2019/01/19

新功能:2020/03/19

之间:14

Example 01:
Old Date: 19/03/2020
New Date: 31/03/2020
Between: 0

Example: 02:
Old Date: 19/03/2020
New Date: 01/04/2020
Between: 1

Example: 03:
Old Date: 19/03/2020
New Date: 30/04/2020
Between: 1

Example: 04:
Old Date: 19/03/2020
New Date: 01/05/2020
Between: 2

Example: 05:
Old Date: 19/03/2020
New Date: 01/05/2021
Between: 14

1 个答案:

答案 0 :(得分:1)

您可以通过使用momentjs .startOf('month')日期修饰符来丢弃天数,然后使用.diff()比较天数:

const getDate = (date) => moment(date, 'DD/MM/YYYY').startOf('month')
const diff = Math.abs(getDate('19/03/2020').diff(getDate('01/05/2021'), 'months'));

console.log(diff)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>