我正在寻找将负秒转换为hh:mm:ss格式的解决方案。 我想将-60显示为-00:01:00。 这就是我所做的
var res = d.toString().split("-");
var currentValue = res[1];
var currentDuration = "-" + getDuration(currentValue);
function getDuration(d) {
var h = Math.floor(d / 3600);
var m = Math.floor(d % 3600 / 60);
h = h < 10 ? '0' + h : h;
m = m < 10 ? '0' + m : m;
return h + ':' + m;
}
有更好的方法吗?
答案 0 :(得分:0)
假设输入为负秒的整数,则此功能应该有效。
function nSecToTime(s)
{
s = Math.abs(s);
var t = [0,0,0];
var r = s % 3600;
t[0] = Math.floor(s / 3600);
t[1] = Math.floor(r / 60);
r = r % 60;
t[2] = r;
return "-"+t[0]+":"+(t[1]<10?"0"+t[1]:t[1])+":"+(t[2]<10?"0"+t[2]:t[2]); // Format result in hh:mm:ss
}
nSecToTime(-58); // returns -0:00:58
nSecToTime(-8452); // returns -2:20:52