javascript - 最有效/最短的方式花费 X 秒并将其变成 h :m:s

标签 javascript jquery date

我希望将 165 秒变成 2:40 而不是 0:2:45

该函数需要能够适应秒值的大小。

我知道有无数种方法可以做到这一点,但我正在寻找一种干净的方法来做到这一点,除了 jQuery 之外不需要任何外部库。

最佳答案

类似于:[Math.floor(165/60),165%60].join(':') 应该可以。实际上,现在是2:45 ;~)

[编辑]根据您的评论将秒转换为(零填充,小时 trim )hr:mi:se 字符串的函数

function hms(sec){
 var   hr = parseInt(sec/(60*60),10)
     , mi = parseInt(sec/60,10)- (hr*60)
     , se = sec%60;
 return [hr,mi,se]
         .join(':')
         .replace(/\b\d\b/g,
            function(a){ 
             return Number(a)===0 ? '00' : a<10? '0'+a : a; 
            }
          )
         .replace(/^00:/,'');
}
alert(hms(165)); //=> 02:45
alert(hms(3850)); //=> 01:04:10

关于javascript - 最有效/最短的方式花费 X 秒并将其变成 h :m:s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6134603/

相关文章:

jquery - 如何在悬停时更改父 <li> 的样式

javascript - 如何使用 Javascript 获取 2 位数年份?

javascript - 如何测试我的 selenium/jquery/AJAX 项目?

javascript - jQuery |获取应用于元素的插件列表

javascript - 如何从 json 中删除\r?

jquery - 当下面的元素进行动画处理时,如何强制 IE 继续对覆盖层应用不透明度?

mysql - yii 输出格式日期时间

c# - 获取当月的第一天和最后一天

javascript - Firefox 自动解码 url 中的编码参数,在 IE 中不会发生

javascript - 将 CSS 添加到 Javascript 小部件