momentjs - 以 mm 为单位格式化秒:带矩的 ss
问题描述
我必须格式化一个持续时间,比如说4000
秒到mm:ss
with 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
它们总是相同的。您可以只使用 momentduration
函数并获取分钟asMinutes
和秒.seconds()
此外, asMinutes 会将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>
推荐阅读
- android - 如何为 Android 设置 Qt-Creator?
- javascript - 警报组件不会第二次重新触发
- elasticsearch - Logstash 没有流式传输到 kafka
- editor - 摩纳哥编辑没有显示对 printf 的建议
- python - 如何在两个单独的行上扩展对象 dtype
- list - 如何知道二维列表包含颤动中的另一个列表
- sql - 如何检查给定日期范围内的帐户余额是否有变化
- xamarin - Xamarin Forms Android Paddings 未在 CollectionView 中显示
- python - 清单中的库存编号
- asp.net - 表格中未显示 VBnet 编辑/删除按钮