如何在javascript中将负秒转换为hh:mm:ss

时间:2017-05-07 06:04:27

标签: javascript

我正在寻找将负秒转换为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;

}

有更好的方法吗?

1 个答案:

答案 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