【问题标题】:How to calculate the milliseconds in Javascript CountUp Timer?如何计算 Javascript CountUp Timer 中的毫秒数?
【发布时间】:2020-04-04 18:15:20
【问题描述】:

我找到了一个脚本,它可以从预设日期开始计数,但想向它添加毫秒。

我现在拥有的:

var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);

我可以看到毫秒应该是这样的

var milliseconds = Math.floor((distance % (****)) / **** );

我想知道它是如何计算的?

编辑:我可能没有那么明确,所以这里有更多代码?

功能:

var x = setInterval(function(){ ......... }, 1000);

函数内部是这样的:

var now = new Date().getTime();

    var distance = now - dateCountup;

   ..............



 var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    var seconds = Math.floor((distance % (1000 * 60)) / 1000);

document.getElementById(".....").innerHTML = ......... + minutes + "m " + seconds + "s ";

距离是毫秒吗?

【问题讨论】:

  • JavaScript 中的时间 is 以毫秒为单位。您是否处理时间戳,或 setTimeout 等的延迟。
  • 好的,谢谢,那么在计算毫秒数时如何显示?

标签: javascript math timer milliseconds


【解决方案1】:

您可以使用Date.getTime() 轻松获得。在你的 setInterval / setTimeout 中使用它:

var since = new Date("01-01-2020");
var now = new Date();
console.log(now.getTime() - since.getTime() + " ms")

// Assuming you count every 1/100th of a second
setInterval(() => {
  now = new Date();
  console.clear()
  console.log(now.getTime() - since.getTime() + " ms")
}, 10)

【讨论】:

  • 嗨,谢谢,我似乎无法让它像我想要的那样工作。它显示如下: 6481568ms 。我可以重新格式化它以显示 .000 毫秒的计数吗?
  • @icbxw 编辑答案以包含setInterval
  • 谢谢。由于某种原因,毫秒是滞后的,并且不像我想要的那样出现。有没有机会像这个示例视频中那样进行这项工作:streamable.com/jw932
  • @icbxw 只需更改间隔持续时间,我在答案中将其更改为 10 毫秒
  • 花了一段时间,大约一个小时的摆弄,最后我将函数更改为每 1/100 秒计数一次,如下所示:“setInterval(() { .. }, 10")" 并为变量添加毫秒:"var milli = Math.floor((distance % 1000) / 1);"。谢谢
猜你喜欢
  • 1970-01-01
  • 2023-02-21
  • 1970-01-01
  • 2012-06-12
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多