如何HH-MM-SS
使用 JavaScript将秒转换为字符串?
使用 JavaScript 将秒数转换为 HH-MM-SS?
IT技术
javascript
date
time
date-format
time-format
2021-01-14 22:38:43
6个回答
借助 JavaScript Date 方法,您可以在没有任何外部 JavaScript 库的情况下设法做到这一点,如下所示:
var date = new Date(null);
date.setSeconds(SECONDS); // specify value for SECONDS here
var result = date.toISOString().substr(11, 8);
或者,根据@Frank的评论;一个班轮:
new Date(SECONDS * 1000).toISOString().substr(11, 8);
更新(2020):
请使用@Frank 的单行解决方案:
new Date(SECONDS * 1000).toISOString().substr(11, 8)
如果SECONDS<3600并且您只想显示MM:SS,则使用以下代码:
new Date(SECONDS * 1000).toISOString().substr(14, 5)
这是迄今为止最好的解决方案。
旧答案:
使用Moment.js
图书馆。
我认为标准 Date 对象的任何内置功能都不会以比自己进行数学计算更方便的方式为您完成此操作。
hours = Math.floor(totalSeconds / 3600);
totalSeconds %= 3600;
minutes = Math.floor(totalSeconds / 60);
seconds = totalSeconds % 60;
例子:
我知道这有点旧,但是...
ES2015:
var toHHMMSS = (secs) => {
var sec_num = parseInt(secs, 10)
var hours = Math.floor(sec_num / 3600)
var minutes = Math.floor(sec_num / 60) % 60
var seconds = sec_num % 60
return [hours,minutes,seconds]
.map(v => v < 10 ? "0" + v : v)
.filter((v,i) => v !== "00" || i > 0)
.join(":")
}
它会输出:
toHHMMSS(129600) // 36:00:00
toHHMMSS(13545) // 03:45:45
toHHMMSS(180) // 03:00
toHHMMSS(18) // 00:18
其它你可能感兴趣的问题