JAvascript秒をHH-MM-SS時間フォーマットに変換


最近html 5の小さなゲームを書いていますが、ゲームではタイミングの機能が使われるのは避けられません.私は簡単にpassedTime変数を設定しましたが、ゲームサイクルでは60フレーム++1回(FPS=60)はありません.そしてpasseTimeを00:00形式に変換する時間が表示されます.このようなコンピュータの時間の方法は正確ではありません(どんな機械でも一秒で60回アップデートできるわけではありませんから)、今のコンピュータの効率はとても高くて、broswerの進歩を加えて、骨董品機を使わない限り.
実は方法はたくさんありますが、ここでは簡単に以下の2つの関数を使いました.
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