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
发布于 2017-07-15 18:08:59
工期get文档说:
作为
Duration#x()更好的getter的替代品,您可以使用更好的Duration#get('x')。
因此,您应该参考month,它说:
与用于持续时间的其他getter一样,
moment.duration().months()将获得月份(0-11)。moment.duration().asMonths()获得以月为单位的持续时间长度。
您的持续时间是1年,所以它有0个月,get的输出是正确的。
也许使用toISOString()来显示持续时间值有助于更好地理解get和as之间的区别。
https://stackoverflow.com/questions/45117804
复制相似问题