如何使用 moment.js 获取以年、月和日为单位的 2 个日期之间的差异?
例如之间的区别4/5/2014 & 2013年2月22日应计算为1年1月14天.
Moment.js 无法直接处理这种情况。它确实允许您获取两个时刻之间的差异,但结果是经过的时间(以毫秒为单位)。时刻确实有一个Duration http://momentjs.com/docs/#/durations/对象,但它将一个月定义为 30 天的固定单位 - 我们知道情况并非总是如此。
幸运的是,已经创建了一个插件,名为《精确范围》 http://momentjs.com/docs/#/plugins/preciserange/,它做了正确的事情。看着来源 https://github.com/codebox/moment-precise-range/blob/master/readable-range.js,它做了类似的事情虎三郎的回答 https://stackoverflow.com/a/26064265/634824- 但它正确地考虑了该月中需要调整的天数。
在您的项目中包含 moment.js 和此插件 (read-range.js) 后,您可以像这样简单地调用它:
var m1 = moment('2/22/2013','M/D/YYYY');
var m2 = moment('4/5/2014','M/D/YYYY');
var diff = moment.preciseDiff(m1, m2);
console.log(diff);
输出为“1年1月14天”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)