猿问

使用格式hh:mm:ss的JavaScript秒到时间字符串

使用格式hh:mm:ss的JavaScript秒到时间字符串

我想将持续时间转换为冒号分隔时间字符串的秒数(hh:mm:ss)

我在这里找到了一些有用的答案,但他们都谈到转换为x小时和x分钟格式。

那么有一个小代码片段可以用jQuery或原始JavaScript来完成吗?


MMMHUHU
浏览 560回答 3
3回答

慕运维8079593

String.prototype.toHHMMSS&nbsp;=&nbsp;function&nbsp;()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;sec_num&nbsp;=&nbsp;parseInt(this,&nbsp;10);&nbsp;//&nbsp;don't&nbsp;forget&nbsp;the&nbsp;second&nbsp;param &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;hours&nbsp;&nbsp;&nbsp;=&nbsp;Math.floor(sec_num&nbsp;/&nbsp;3600); &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;minutes&nbsp;=&nbsp;Math.floor((sec_num&nbsp;-&nbsp;(hours&nbsp;*&nbsp;3600))&nbsp;/&nbsp;60); &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;seconds&nbsp;=&nbsp;sec_num&nbsp;-&nbsp;(hours&nbsp;*&nbsp;3600)&nbsp;-&nbsp;(minutes&nbsp;*&nbsp;60); &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(hours&nbsp;&nbsp;&nbsp;<&nbsp;10)&nbsp;{hours&nbsp;&nbsp;&nbsp;=&nbsp;"0"+hours;} &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(minutes&nbsp;<&nbsp;10)&nbsp;{minutes&nbsp;=&nbsp;"0"+minutes;} &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(seconds&nbsp;<&nbsp;10)&nbsp;{seconds&nbsp;=&nbsp;"0"+seconds;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;hours+':'+minutes+':'+seconds;}您现在可以使用它:alert("5678".toHHMMSS());工作片段:String.prototype.toHHMMSS&nbsp;=&nbsp;function&nbsp;()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;sec_num&nbsp;=&nbsp;parseInt(this,&nbsp;10);&nbsp;//&nbsp;don't&nbsp;forget&nbsp;the&nbsp;second&nbsp;param &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;hours&nbsp;&nbsp;&nbsp;=&nbsp;Math.floor(sec_num&nbsp;/&nbsp;3600); &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;minutes&nbsp;=&nbsp;Math.floor((sec_num&nbsp;-&nbsp;(hours&nbsp;*&nbsp;3600))&nbsp;/&nbsp;60); &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;seconds&nbsp;=&nbsp;sec_num&nbsp;-&nbsp;(hours&nbsp;*&nbsp;3600)&nbsp;-&nbsp;(minutes&nbsp;*&nbsp;60); &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(hours&nbsp;&nbsp;&nbsp;<&nbsp;10)&nbsp;{hours&nbsp;&nbsp;&nbsp;=&nbsp;"0"+hours;} &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(minutes&nbsp;<&nbsp;10)&nbsp;{minutes&nbsp;=&nbsp;"0"+minutes;} &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(seconds&nbsp;<&nbsp;10)&nbsp;{seconds&nbsp;=&nbsp;"0"+seconds;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;hours&nbsp;+&nbsp;':'&nbsp;+&nbsp;minutes&nbsp;+&nbsp;':'&nbsp;+&nbsp;seconds;} &nbsp;&nbsp;&nbsp;&nbsp;console.log("5678".toHHMMSS());

慕姐4208626

您可以使用JS Date方法在没有任何外部JS库的情况下执行此操作,如下所示:var&nbsp;date&nbsp;=&nbsp;new&nbsp;Date(null);date.setSeconds(45);&nbsp;//&nbsp;specify&nbsp;value&nbsp;for&nbsp;SECONDS&nbsp;herevar&nbsp;timeString&nbsp;=&nbsp;date.toISOString().substr(11,&nbsp;8);console.log(timeString)

米脂

要获得格式中的时间部分hh:MM:ss,可以使用此正则表达式:(上面有人在同一篇文章中提到过,谢谢你。)&nbsp;&nbsp;var&nbsp;myDate&nbsp;=&nbsp;new&nbsp;Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,&nbsp;"$1"); &nbsp;&nbsp;&nbsp;&nbsp;console.log(myDate)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答