再生時間を表示する
<audio>
や<video>
を使うと再生時間を表示したいときがあります。でもだいたい単位が秒なので、時と分は計算しなくてはいけません。
簡単ですが時間データから文字列に変換するスクリプトを書きました。
ソースコード
JavaScript
function playTime (t) {
let hms = ''
const h = t / 3600 | 0
const m = t % 3600 / 60 | 0
const s = t % 60
const z2 = (v) => {
const s = '00' + v
return s.substr(s.length - 2, 2)
}
if (h != 0) {
hms = h + ':' + z2(m) + ':' + z2(s)
} else if (m != 0) {
hms = z2(m) + ':' + z2(s)
} else {
hms = '00:' + z2(s)
}
return hms
}
こんな感じ。