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
答案 0 :(得分:0)
持续时间get
文档说:
作为
Duration#x()
getter的替代品,您可以使用Duration#get('x')
。
所以,你应该参考month
说:
与持续时间的其他getter一样,
moment.duration().months()
获得月份(0 - 11)。
moment.duration().asMonths()
以月为单位获取持续时间的长度。
您的持续时间为1年,因此它有0个月,get
的输出是正确的。
使用toISOString()
显示持续时间值有助于更好地理解get
和as
之间的差异。