Moment js格式持续时间

时间:2019-01-09 14:05:33

标签: javascript momentjs

我有一个ISO 8601字符串作为持续时间,我需要将其格式化为XhYm(1h20m)。有人有建议吗?

我现在所做的是:

const duration = moment.duration(secondData.duration);
const formatted = moment.utc(duration.asMilliseconds()).format('HH:mm');

2 个答案:

答案 0 :(得分:3)

要获取所需的输出格式,您需要在format()调用中设置不同的格式字符串:

const duration = moment.duration('PT1H20M');
const formatted = moment.utc(duration.asMilliseconds()).format("H[h]m[m]");

使用方括号可以立即打印这些字符,而无需尝试使用格式。请参阅momentjs文档中的Escaping Characters

答案 1 :(得分:0)

最简单的方法是进行一些手动格式化:

var d = moment.duration("PT1H20M");
console.log(d.hours()+"H"+d.minutes()+"M");
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>