如何在moment.js持续时间上使用format()函数?

271

我是否能够在持续时间对象上使用 moment.jsformat 方法?我在文档中没有找到它的任何信息,并且似乎也不是持续时间对象的属性。

我想要做这样的事情:

var diff = moment(end).unix() - moment(start).unix();
moment.duration(diff).format('hh:mm:ss')

另外,如果有其他能够轻松实现此类功能的库,我会对推荐很感兴趣。

谢谢!


9
moment.utc(duration.asMilliseconds()).format('hh:mm:ss'); “duration”是一个向量。将其尾部放在原点上,您可以使用日期格式化来得到“hh:mm:ss”。 - Paul Williams
1
moment.utc(moment.duration(23, 'seconds').asMilliseconds()).format('hh:mm:ss') => "12:00:23" 不太好用 - goldenratio
2
啊,我找到问题了,在我的先前示例中,HH:mm:ss会给出00:00:23。所以只是小时部分的大小写错误。 - goldenratio
1
对于那些想以可读的方式显示持续时间的人,请使用:moment.duration(diff_ms).humanize(); - Rafe
31个回答

-3
这对我有效:
moment({minutes: 150}).format('HH:mm') // 01:30

1
返回“无效日期” - themadmax
4
150分钟不等于1小时30分钟。 - Mark Brown

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接