将秒转换为时间格式

时间:2013-08-24 10:01:11

标签: javascript time strip seconds

我正在努力寻找一种将秒转换为时间格式的好解决方案。

到目前为止,我有这个功能可以满足我的需求。

function secondstotime(secs)
{
    var t = new Date(1970,0,1);
    t.setSeconds(secs);
    var s = t.toTimeString().substr(0,8);
    if(secs > 86399)
        s = Math.floor((t - Date.parse("1/1/70")) / 3600000) + s.substr(2);
    return s;
}

alert(secondstotime(1920));

所以你可以在jsfiddle http://jsfiddle.net/7Pp5z/

中运行它

所以这很好用,可以工作几个小时等但是我想把时间左边的零点去掉。举个例子

我想要00:32:00

变成32:00所以当输出到浏览器时它看起来更好

有人可以告诉我这样做的最佳方法,还是有人可以分享其他功能。

由于

3 个答案:

答案 0 :(得分:2)

将条件放在下面:

if(s.substr(0, 2) == 00)
        return s.substr(3);

工作演示http://jsfiddle.net/7Pp5z/2/

答案 1 :(得分:0)

首先,你应该更清楚地陈述你的问题。

“将秒转换为时间格式” 秒是表示持续时间的一种方式,但需要某种参考才能使其相关。

A.D.,UTC或持续时间。

请参阅 http://en.wikipedia.org/wiki/ISO_8601 为了胜利。

在JavaScript控制台中试用:

d = new Date(1920000)
Thu Jan 01 1970 01:32:00 GMT+0100 (Westeuropäische Normalzeit)
d.getUTCMinutes()
32
d.getUTCSeconds()
0

答案 2 :(得分:0)

这是一个以给定的秒数[s]显示请求格式的时间字符串的函数:

function showtime(s){
   var time = new Date(new Date('1970/1/1 00:00').setSeconds(s))
                .toTimeString().split(' ')[0].split(':');
   return (+time[0] ? time[0]+':' : '') +
          (+time[1] || +time[0]  ? time[1] +':' : '') +
           time[2];
}

您可以在此jsFiddle找到演示。