Javascript将毫秒转换为时间

时间:2013-12-30 11:16:01

标签: javascript

我有这段代码

<script>
function msToTime(Milliseconds)
    {
        var Hours = Milliseconds / (1000*60*60);
        var Minutes = (Milliseconds % (1000*60*60)) / (1000*60);
            var Seconds = ((Milliseconds % (1000*60*60)) % (1000*60)) / 1000;
              return Hours + ":" + Minutes + ":" + Seconds;
    }
var xtime=d1.getTime();
    alert(xtime);
    alert(msToTime(xtime));
</script>

它给了我这个输出 毫秒警告哪个是正确的

enter image description here

下一个警告我得到的是错误的:

enter image description here

代码有什么问题?

2 个答案:

答案 0 :(得分:2)

让标准库为您完成工作; - )

function msToTime(Milliseconds)
    var d = new Date(Milliseconds);
    return [d.getHours(), d.getMinutes(), d.getSeconds()].map(function (v) {
        return v < 10 ? '0' + v : v;
    }).join(':');
}

答案 1 :(得分:2)

试试这个:

function msToTime(ms) {
    var d = new Date(ms);
    return (
        ("0" + d.getHours()).slice(-2)
    ) + ":" + (
        ("0" + d.getMinutes()).slice(-2)
    ) + ":" + (
        ("0" + d.getSeconds()).slice(-2)
    ); 
}  

它将以HH:MM:SS格式返回时间。

编辑:
在前面添加().slice(-2)后,0方法会返回最后两位数字 例如,如果值为045秒,则返回45秒值,如果第二个值为07,则返回07值。
即使值小于10,它也只能从值中选取最后两位数使其成为两位数值。

Reference Link