http://momentjs.com/docs/#/durations/as/的文档似乎不清楚这一点,结果有所不同(https://jsfiddle.net/andig2/b3xLzcu6/(:
var d = moment.duration(1, 'year');
console.log(d.asMonths());
console.log(d.as('month'));
console.log(d.get('months'));
返回
12,12,0 而不是 12,12,12持续时间get
文档 说:
作为
Duration#x()
getter的替代方法,您可以使用Duration#get('x')
.
因此,您应该参考以下month
与其他获取持续时间的获取者一样,
moment.duration().months()
获得月份 (0 - 11(。
moment.duration().asMonths()
获取持续时间的长度(以月为单位(。
您的持续时间是 1 年,因此它有 0 个月,get
的输出是正确的。
也许使用toISOString()
来显示持续时间值将有助于更好地了解get
和as
之间的区别。