duration()。get(String)和duration()。as(String)之间有什么区别?

时间:2017-07-15 11:44:16

标签: momentjs

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

1 个答案:

答案 0 :(得分:0)

持续时间get文档说:

  

作为Duration#x() getter的替代品,您可以使用Duration#get('x')

所以,你应该参考month说:

  

与持续时间的其他getter一样,moment.duration().months()获得月份(0 - 11)。

     

moment.duration().asMonths()以月为单位获取持续时间的长度。

您的持续时间为1年,因此它有0个月,get的输出是正确的。

使用toISOString()显示持续时间值有助于更好地理解getas之间的差异。