我有这段代码
<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>
它给了我这个输出 毫秒警告哪个是正确的
下一个警告我得到的是错误的:
代码有什么问题?
答案 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,它也只能从值中选取最后两位数使其成为两位数值。