用时刻格式化 mm:ss 中的秒数

Format seconds in mm:ss with moment

我必须格式化持续时间让我们说 4000 秒到 mm:ssmomentjs

到目前为止我尝试过的:

const duration = moment.duration(4000, 'seconds').asMilliseconds();
moment.utc(duration).format('mm:ss'); // output 06:40

这个问题是因为 4000sec is equal to 01:06:40 它只显示分钟和秒,而不是将 1 小时附加到分钟。

您根本不需要 utc() 函数,因为 seconds 总是相同的。您可以只使用 moment duration 函数并得到分钟 asMinutes 和秒 .seconds()

此外,asMinutes 会将 return 的 float 数字设为 66.66,因此将其四舍五入使用 Math.floor()

工作演示:

const duration = moment.duration(4000, 'seconds')
const format = Math.floor(duration.asMinutes()) + ':' + duration.seconds()
console.log(format) //66:40
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.0/moment.min.js" integrity="sha512-Izh34nqeeR7/nwthfeE0SI3c8uhFSnqxV0sI9TvTcXiFJkMd6fB644O64BRq2P/LA/+7eRvCw4GmLsXksyTHBg==" crossorigin="anonymous"></script>