【问题标题】:calculate 2 date.now gives NaN, even with parseInt计算 2 date.now 给出 NaN,即使使用 parseInt
【发布时间】:2017-12-02 17:02:27
【问题描述】:

我是 javascript 新手,我需要计算 2 个时间戳之间的差异(以秒为单位)。一个是当用户点击第一张卡片时,另一个是当他点击最后一张卡片时。

我的代码:

var startTime = Date.now();
var endTime = Date.now();
var currentResult = ((endTime - startTime)/1000);

这在控制台中给出了 NaN,但如果我这样做,我可以看到很长的数字:

console.log(startTime);
console.log(endTime);

即使我使用:

var startMillsecond = parseInt(startTime, 10);
var endMillsecond = parseInt(endTime, 10);

然后计算:

currentResult = ((endMillsecond - startMillsecond)/1000);

它也给出了 NaN。我究竟做错了什么?我只需要使用javascript .. 感谢您的帮助!

【问题讨论】:

标签: javascript


【解决方案1】:

Date.now() 返回代表毫秒数的浮点数。从另一个中减去然后除以 1000 得到秒数。所以这行得通:

var startTime = Date.now();
setTimeout(function() {
  var endTime = Date.now();
  var currentResult = ((endTime - startTime) / 1000);
  console.log(currentResult)
}, 3125);

IOW,你做的不是你发布的。

【讨论】:

  • 感谢您的回答。我明白错误在哪里。 startTime 没有在函数之外声明,所以当我尝试做差异时它给出了一个错误(每次用户点击卡片时函数都会运行)。谢谢
猜你喜欢
  • 2018-04-27
  • 2013-07-23
  • 1970-01-01
  • 2020-09-30
  • 2014-12-03
  • 2015-10-24
  • 1970-01-01
  • 2016-05-20
  • 2021-12-12
相关资源
最近更新 更多