gpt4 book ai didi

javascript - javascript中的毫秒时间

转载 作者:IT王子 更新时间:2023-10-29 03:00:39 25 4
gpt4 key购买 nike

我有这个功能,可以将秒格式化为时间

 function secondsToTime(secs){
var hours = Math.floor(secs / (60 * 60));
var divisor_for_minutes = secs % (60 * 60);
var minutes = Math.floor(divisor_for_minutes / 60);
var divisor_for_seconds = divisor_for_minutes % 60;
var seconds = Math.ceil(divisor_for_seconds);
return minutes + ":" + seconds;
}

它工作得很好,但我需要一个函数来将毫秒转换为时间,我似乎无法理解我需要对这个函数做些什么才能以这种格式返回时间

mm:ss.mill
01:28.5568

最佳答案

其他答案中有很多不必要的铺垫。如果字符串以毫秒为单位,则转换为 h:m:s 如下:

function msToTime(s) {
var ms = s % 1000;
s = (s - ms) / 1000;
var secs = s % 60;
s = (s - secs) / 60;
var mins = s % 60;
var hrs = (s - mins) / 60;

return hrs + ':' + mins + ':' + secs + '.' + ms;
}

如果你想把它格式化为 hh:mm:ss.sss 然后使用:

function msToTime(s) {

// Pad to 2 or 3 digits, default is 2
function pad(n, z) {
z = z || 2;
return ('00' + n).slice(-z);
}

var ms = s % 1000;
s = (s - ms) / 1000;
var secs = s % 60;
s = (s - secs) / 60;
var mins = s % 60;
var hrs = (s - mins) / 60;

return pad(hrs) + ':' + pad(mins) + ':' + pad(secs) + '.' + pad(ms, 3);
}

console.log(msToTime(55018))

利用最近加入的一些语言特性,pad功能可以更简洁:

function msToTime(s) {
// Pad to 2 or 3 digits, default is 2
var pad = (n, z = 2) => ('00' + n).slice(-z);
return pad(s/3.6e6|0) + ':' + pad((s%3.6e6)/6e4 | 0) + ':' + pad((s%6e4)/1000|0) + '.' + pad(s%1000, 3);
}

// Current hh:mm:ss.sss UTC
console.log(msToTime(new Date() % 8.64e7))

关于javascript - javascript中的毫秒时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com