我希望将 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/