1. ホーム
  2. javascript

[解決済み] Javascriptで時間経過を測定するには?[重複しています]

2022-02-11 12:21:47

質問

16個の箱をクリックし終わるとタイマーが始まり、終了する簡単なゲームを作りました。

ユーザーがゲームを完了するまでの経過時間を計測したいのですが。 Javascriptを使用してどのように行うのですか?

いろいろな回答を見てみました このように しかし、他の人のコードを理解するのに苦労しました。

このような形になると想定しています。

Timer Start: When user clicks the first box
Timer End: When user clicks the last box

解決方法は?

その Date のドキュメントには、次のように書かれています。

JavaScript の日付は、ミリ秒単位の時間値に基づいています。 1970年1月1日午前0時(UTC)より

開始ボタンをクリックした後、終了ボタンをクリックしてください。2回のクリックの間の秒数が表示されます。

ミリ秒の差分は変数 timeDiff . 秒/分/時間/またはあなたが必要とするものを見つけるためにそれを再生します。

var startTime, endTime;

function start() {
  startTime = new Date();
};

function end() {
  endTime = new Date();
  var timeDiff = endTime - startTime; //in ms
  // strip the ms
  timeDiff /= 1000;

  // get seconds 
  var seconds = Math.round(timeDiff);
  console.log(seconds + " seconds");
}
<button onclick="start()">Start</button>

<button onclick="end()">End</button>

またはモダンブラウザに対応した別の方法

使用方法 performance.now() は、時刻の原点からの経過時間を表す値を返します。この値は、マイクロ秒を小数部に持つ double である。

時間の原点は、現在の文書の寿命の始まりとみなされる標準的な時間である。

var startTime, endTime;

function start() {
  startTime = performance.now();
};

function end() {
  endTime = performance.now();
  var timeDiff = endTime - startTime; //in ms 
  // strip the ms 
  timeDiff /= 1000; 
  
  // get seconds 
  var seconds = Math.round(timeDiff);
  console.log(seconds + " seconds");
}
<button onclick="start()">Start</button>
<button onclick="end()">End</button>