为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

MMMHUHU 2019-08-09 11:25:21
使用格式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());


查看完整回答
反对 回复 2019-08-09
?
慕姐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)


查看完整回答
反对 回复 2019-08-09
?
米脂

TA贡献1836条经验 获得超3个赞

要获得格式中的时间部分hh:MM:ss,可以使用此正则表达式:

(上面有人在同一篇文章中提到过,谢谢你。)

  var myDate = new Date().toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1");
    console.log(myDate)


查看完整回答
反对 回复 2019-08-09
  • 3 回答
  • 0 关注
  • 559 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号