用时刻格式化 mm:ss 中的秒数
Format seconds in mm:ss with moment
我必须格式化持续时间让我们说 4000
秒到 mm:ss
和 momentjs
。
到目前为止我尝试过的:
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>
我必须格式化持续时间让我们说 4000
秒到 mm:ss
和 momentjs
。
到目前为止我尝试过的:
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>