返回0个月,但这应该是1个月,因为从我看到的文档中,包含在内的日期是从一个月到下个月算作一个月。
console.log(moment('2020-11-06T00:00:00+00:00').diff(moment('2020-10-06T21:22:21.2976559+00:00'), 'months'))
答案 0 :(得分:0)
我在他们的文档https://momentjs.com/docs/
中发现了这一点注意:瞬间是在评估时创建的,因此moment()。diff(moment())可能并不总是返回0。有关更多详细信息,请参见GitHub问题。
GitHub链接为: https://github.com/moment/moment/issues/5195
答案 1 :(得分:0)
看看你在比较什么。
2020-10-06T21:22:21.2976559+00:00
2020-11-06T00:00:00+00:00
第二个日期的时间是00:00。第一次约会的时间是21:22:21。您只剩下一个月的时间。
标准化时间,它将起作用。
console.log(moment('2020-11-06T00:00:00').diff(moment('2020-10-06T00:00:00'), 'months'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.0/moment.min.js"></script>
答案 2 :(得分:-2)
首先,不建议使用力矩,不建议在新项目https://momentjs.com/docs/#/-project-status/
中使用它每月/每年差异讨论可以在这里查看:https://github.com/moment/moment/pull/571
如果删除时间信息,它将返回1,如预期:console.log(moment('2020-11-06').diff(moment('2020-10-06'), 'months'));
。在我看来,这似乎是个错误,但我想它只是希望瞬间发挥作用的方式