使用格式hh:mm:ss的JavaScript秒到时间字符串我想将持续时间转换为冒号分隔时间字符串的秒数(hh:mm:ss)我在这里找到了一些有用的答案,但他们都谈到转换为x小时和x分钟格式。那么有一个小代码片段可以用jQuery或原始JavaScript来完成吗?
3 回答

慕运维8079593
TA贡献1876条经验 获得超5个赞
String.prototype.toHHMMSS = function () { var sec_num = parseInt(this, 10); // don't forget the second param var hours = Math.floor(sec_num / 3600); var minutes = Math.floor((sec_num - (hours * 3600)) / 60); var seconds = sec_num - (hours * 3600) - (minutes * 60); if (hours < 10) {hours = "0"+hours;} if (minutes < 10) {minutes = "0"+minutes;} if (seconds < 10) {seconds = "0"+seconds;} return hours+':'+minutes+':'+seconds;}
您现在可以使用它:
alert("5678".toHHMMSS());
工作片段:
String.prototype.toHHMMSS = function () { var sec_num = parseInt(this, 10); // don't forget the second param var hours = Math.floor(sec_num / 3600); var minutes = Math.floor((sec_num - (hours * 3600)) / 60); var seconds = sec_num - (hours * 3600) - (minutes * 60); if (hours < 10) {hours = "0"+hours;} if (minutes < 10) {minutes = "0"+minutes;} if (seconds < 10) {seconds = "0"+seconds;} return hours + ':' + minutes + ':' + seconds;} console.log("5678".toHHMMSS());

慕姐4208626
TA贡献1852条经验 获得超7个赞
您可以使用JS Date方法在没有任何外部JS库的情况下执行此操作,如下所示:
var date = new Date(null);date.setSeconds(45); // specify value for SECONDS herevar timeString = date.toISOString().substr(11, 8);console.log(timeString)

米脂
TA贡献1836条经验 获得超3个赞
要获得格式中的时间部分hh:MM:ss
,可以使用此正则表达式:
(上面有人在同一篇文章中提到过,谢谢你。)
var myDate = new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1"); console.log(myDate)
添加回答
举报
0/150
提交
取消