使用momentjs将float转换为小时

时间:2017-02-20 12:49:35

标签: momentjs

例如,如何将此浮点数6.5转换为" 06:30"使用momentjs?

我试过这个:

moment("6.5", "hh:mm").format("HH:mm"))

但输出:

06:05

2 个答案:

答案 0 :(得分:1)

如果您只需要将float转换为字符串,则可以创建duration对象,然后使用moment-duration-format插件将其显示为字符串。

这是一个工作示例:



var dur = moment.duration(6.5, 'h');
console.log(dur.format('HH:mm'));

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/1.3.0/moment-duration-format.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

如果使用下面的代码段,则可以在不使用附加库的情况下(仅对于Moment.js)做到这一点:

moment.utc(moment.duration(6.5, 'h').asMilliseconds()).format('HH:mm')

使用moment.utc作为持续时间(以毫秒为单位)的包装很重要,因为如果使用公共时刻,它也会计算时区差,并且最终结果将是错误的。