Written by Kasumi

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で経過ミリ秒を取得。単位を秒・分に変換する方法について紹介しました。

以上で解説を終わります。

目次

関連記事

JavaScript

【JavaScript】マウスホイールした時のスクロール量を表示する方法

2023.02.07
28
JavaScript

スクロール中、要素をふわっと出す。scrollrevealjs の使い方について【簡単便利】

更新日:2022.09.09
293
JavaScript

【JavaScript】for…inとfor…ofの用途・違いについて

2022.12.28
109
JavaScript

【Webpack-Dev-Server】HTMLファイルを保存してもブラウザが自動リロードされない原因・対処方法

2023.01.14
261