猿问

JavaScript秒时间字符串,格式为HH:mm:SS

JavaScript秒时间字符串,格式为HH:mm:SS

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

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

那么,在jQuery中是否有一个很小的代码片段,或者仅仅是原始的JavaScript呢?


叮当猫咪
浏览 1327回答 3
3回答

海绵宝宝撒

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());

FFIVE

在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)

斯蒂芬大帝

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

相关分类

JavaScript
我要回答