如何测量在Javascript上经过的时间?

2022-08-30 04:54:05

我创建了一个简单的游戏,当用户完成对16个框的点击时,它开始和结束计时器。

我想测量用户完成游戏所用的时间。我如何使用Javascript来做到这一点?

我看了一下像这样的不同答案,但我很难理解别人的代码。

我会假设它看起来像这样。

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

答案 1

日期文档指出:

JavaScript 日期基于自 UTC 时间 1970 年 1 月 1 日午夜起的毫秒级时间值

单击开始按钮,然后单击结束按钮。它将显示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() 返回一个值,该值表示自时间原点以来经过的时间。此值是小数中微秒的双精度值。

时间原点是一个标准时间,它被认为是当前文档生存期的开始。

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>

答案 2