【发布时间】:2013-12-09 08:39:18
【问题描述】:
当时间从 12:01 更改为 12:02 时,我想在 UI 中更新时钟。
我可以每 60 秒执行一次 setInterval,但开始可能不在新分钟的第一秒。如何确保它从第一秒开始?
我想我需要找出当前分钟还剩下多少秒,然后执行一个 setTimeout,当秒数过去时触发 setInterval。
var secondsLeft = ?; //calculate seconds left in this minute
setTimeout(function(){
setInterval(function(){
//update clock
}, 1000 * 60);
}, secondsLeft);
如果moment.js 让事情变得更容易,我没问题。
【问题讨论】:
-
新建一个
Date对象,看看它的秒数。 -
您确实意识到javascript日期和时间不是很准确,并且基于用户操作系统中的设置,因此可能因用户而异?
-
是的,这很好。它不必是原子钟的准确性。我只是不想让时间在 30 秒中途改变。
标签: javascript