javascript把秒转换成HH-MM-SS时间格式

     最近在写一个html5小游戏,游戏中难免要用到计时的功能。我是简单的设置了一个passedTime变量,在游戏循环中没60帧++一次(FPS=60)。然后就要将passeTime转换成00:00格式的时间显示出来。虽说这种计算机时间的方法不是很准确(因为不是任何机器都能保证任何一秒内都能update 60次),不过现在的电脑效率都很高了,加上broswer的进步,除非你用古董机。

     其实方法很多,这里我就简单的用了以下两个函数:

function getTimeFromSeconds(totalSeconds) {
    if (totalSeconds < 86400) {
        var dt = new Date("01/01/2000 0:00");
        dt.setSeconds(totalSeconds);
        return formatTime(dt);
    } else {
        return null;
    }
}

function formatTime(dt) {
    var h = dt.getHours(),
        m = dt.getMinutes(),
        s = dt.getSeconds(),
        r = "";
    if (h > 0) {
        r += (h > 9 ? h.toString() : "0" + h.toString()) + ":";
    }
    r += (m > 9 ? m.toString() : "0" + m.toString()) + ":"
    r += (s > 9 ? s.toString() : "0" + s.toString());
    return r;
}
可以像这样使用:

$("#game_passed_time").text(getTimeFromSeconds(gamePassedTime));
这样就可以显示时间了,哈哈,希望这么简单的东西没浪费你很多时间。

前端技术交流群:139761568




你可能感兴趣的:(web前端)