JavaScript の秒数を hh:mm:ss 形式の時間文字列に変換する 質問する

JavaScript の秒数を hh:mm:ss 形式の時間文字列に変換する 質問する

時間の長さ、つまり秒数をコロンで区切られた時間文字列 (hh:mm:ss) に変換したい

ここでいくつか役に立つ回答を見つけましたが、それらはすべて x 時間と x 分の形式に変換することについて説明しています。

では、これを jQuery で実行する小さなスニペットはありますか、それとも生の JavaScript だけですか?

ベストアンサー1

String.prototype.toHHMMSS = function () {
    var sec_num = parseInt(this, 10); // don't forget the second param
    var hours   = Math.floor(sec_num / 3600);
    var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
    var seconds = sec_num - (hours * 3600) - (minutes * 60);

    if (hours   < 10) {hours   = "0"+hours;}
    if (minutes < 10) {minutes = "0"+minutes;}
    if (seconds < 10) {seconds = "0"+seconds;}
    return hours+':'+minutes+':'+seconds;
}

次のように使用できるようになりました:

alert("5678".toHHMMSS());

作業スニペット:

String.prototype.toHHMMSS = function () {
    var sec_num = parseInt(this, 10); // don't forget the second param
    var hours   = Math.floor(sec_num / 3600);
    var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
    var seconds = sec_num - (hours * 3600) - (minutes * 60);

    if (hours   < 10) {hours   = "0"+hours;}
    if (minutes < 10) {minutes = "0"+minutes;}
    if (seconds < 10) {seconds = "0"+seconds;}
    return hours + ':' + minutes + ':' + seconds;
}
    
console.log("5678".toHHMMSS());

おすすめ記事