momentjs 将持续时间格式设置为 [hh:mm:ss],其中 hh 大于 24 小时

问题描述 投票:0回答:2

如何使用 momentjs 在几秒钟内格式化数字

moment(172800).format('hh[h] mm[min]')

对一些喜欢的人

'48h 00min'

本质上,我想以 hh:mm:ss 的形式计算计时器经过的时间,其中时间远远超过 24 小时。

momentjs
2个回答
1
投票

您可以使用moment-duration-format插件。

您可以根据秒数创建一个 duration,然后使用

moment-duration-format
中的 format 方法根据您的需要打印持续时间。

这里有一个例子:

// Create moment duration
var dur = moment.duration(172800, 's');
// Format duration according your needs
console.log( dur.format('hh[h] mm[min]') );
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.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>


0
投票

本机解决方案将类似于:

getTimeBySeconds = (seconds) => {
    const hours = Math.floor(seconds / 3600);
    const minutes = Math.floor(seconds % 3600 / 60);
    const secondsLeft = seconds % 3600 % 60;

    return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${secondsLeft.toString().padStart(2, '0')}`;
}
© www.soinside.com 2019 - 2024. All rights reserved.