JavaScriptで秒を分と秒に変換する方法【サンプルコード付き】
JavaScriptで秒を分と秒に変換する方法
JavaScriptでは、動画の再生時間やタイマーなど、秒数を「分:秒」の形式に変換して表示したい場面がよくあります。この記事では、秒数を分と秒に変換する基本的な方法を、実際に動くサンプルコードとあわせてわかりやすく解説します。
変換の考え方
秒数から時・分・秒へ変換するには、次の計算式を使います。
- 時:秒数 ÷ 3600(小数点以下を切り捨て)
- 分:(秒数 % 3600)÷ 60(小数点以下を切り捨て)
- 秒:秒数 % 60
なお、~~(チルダ2つ)は小数点以下を切り捨てるための省略記法で、Math.floor() とほぼ同じ働きをします。剰余演算子 % と組み合わせれば、60秒に満たない端数の秒も簡単に取り出せます。
サンプルコード
次の myTime() 関数に秒数を渡すと、「分:秒」形式の文字列が返されます。
<html>
<head>
<title>JavaScript Dates</title>
</head>
<body>
<script>
function myTime(time) {
var hr = ~~(time / 3600);
var min = ~~((time % 3600) / 60);
var sec = time % 60;
var result = "";
if (hr > 0) {
result += hr + ":" + (min < 10 ? "0" : "");
}
result += min + ":" + (sec < 10 ? "0" : "") + sec;
return result + " min";
}
document.write(myTime(150));
</script>
</body>
</html>
実行結果
上記のコードを実行すると、myTime(150) が 150 秒を変換し、画面には次のように表示されます。
2:30 min
コードのポイント
~~(time / 3600):時間(時)を計算します。3600秒未満の場合は 0 になります。(sec < 10 ? '0' : ''):1桁の数字の前に 0 を付けて「05」のように表示する、いわゆるゼロ埋め処理です。- 3600秒以上の値を渡した場合は、時を含んだ「1:02:30」のような形式で表示されます。
この関数を少し改良すれば、ストップウォッチやメディアプレーヤーの経過時間表示など、さまざまな場面に応用できます。ぜひご自身のプロジェクトでも試してみてください。
-
JavaScriptで秒数を時間と分に変換する方法
問題本記事では、秒数を受け取り、その秒数に含まれる「時間」と「分」を返すJavaScript関数の作成方法を解説します。動画の再生時間やタイマー処理など、秒単位のデータを人間が読みやすい形式に変換したい場面で役立つテクニックです。入力例:const seconds = 3601;期待される出力:const output = "1 hour(s) and 0 minute(s)";変換の考え方秒数を時間と分に変換するには、以下の基本的な単位関係を利用します。1時間 = 3600秒1分 = 60秒手順はシンプルです。まず、元の秒数を3600で割った整数部分が「時間」になります。
-
Pythonで秒数を「時:分:秒」形式に変換する方法
関数が秒単位の情報を返す場合でも、実際には「時:分:秒」形式で表示したいというケースはよくあります。そんなときに便利なのが divmod() 関数です。この関数は1回の除算で商と余りの両方を同時に求めることができるため、わずか2回の数学的操作だけで素早く結果を得られます。divmod()を使った変換例seconds = 56741 m, s = divmod(seconds, 60) h, m = divmod(m, 60) print(%d:%02d:%02d % (h, m, s))出力結果上記のコードを実行すると、次のような出力が得られます。15:45:41%02d は分と秒を必ず2桁で