JavaScriptで経過ミリ秒を取得。単位を秒・分に変換する方法

JavaScriptで経過ミリ秒を取得。
取得したミリ秒を秒・分に単位を変換したい。
本記事ではこのような悩みを解決。
実装方法について解説します。
経過ミリ秒を取得する
time = new Date().getTime();
console.log(time);
//例
経過ミリ秒を取得するにはDateオブジェクトのgetTimeメソッドを使います。
new Date().getTime()とする事で、1970年1月1日0時0分から現時刻までの経過ミリ秒を取得できます。
ミリ秒を分・秒に単位を変換
// 過去の時刻から現時刻までの経過時間
time = new Date().getTime() - new Date(2023, 0, 18, 22, 26).getTime();
// 1000で割り秒数に変更
timeFormatted = Math.floor(time / 1000);
// 1分=60秒なので、60で割った余りが秒数
const seconds = timeFormatted % 60;
// 1時間=60分なので、60で割った値が分。
const minutes = Math.floor(timeFormatted / 60);
//取得した数値を文字列に変換。2桁に変更
const minutesFormatted = String(minutes).padStart(2, "0");
const secondsFormatted = String(seconds).padStart(2, "0");
// コンソール
//分
console.log(minutesFormatted);
//秒
console.log(secondsFormatted);
ミリ秒を分・秒に単位を変換するコード例です。
過去の時刻から現時刻までの経過時間をミリ秒で取得。
それを分・秒に単位変換してコンソールに出力してます。
コードの詳細は以下の通りです。
秒数に変換
timeFormatted = Math.floor(time / 1000);
const seconds = timeFormatted % 60;
まず最初に取得したミリ秒を1000で割り、秒に変換。
1分=60秒なので、上記を60で割った余りが秒数になります。
Math.floorを使えば整数以下を切り捨てできます。
分に変換
const minutes = Math.floor(timeFormatted / 60);
1時間=60分なので、秒を60で割った値が分になります。
取得した分・秒の桁数を変更
//2桁の分
const minutesFormatted = String(minutes).padStart(2, "0");
//2桁の秒
const secondsFormatted = String(seconds).padStart(2, "0");
取得した分・秒の桁数を合わせたい場合はpadStartを使います。
Stringで数値を文字列に変換。
padStartの第一引数に桁数を代入。
以上で実装完了です。
まとめ
JavaScriptで経過ミリ秒を取得。単位を秒・分に変換する方法について紹介しました。
以上で解説を終わります。
目次