如何在给定的时间和日期运行函数?
示例:我有一个函数需要在每个月的 12 日上午 10 点运行。
如果这很重要,此页面将全天候运行。
显然我必须与当前日期进行比较,但我不确定如何检查当前日期和时间是否匹配。
香农
最佳答案
不建议使用 setInterval
,因为它具有不确定的行为 - 事件可能会被错过,或者一次触发所有事件。时间也会不同步。
下面的代码改为使用 setTimeout
和 一分钟 时间段,其中每分钟重新同步计时器以尽可能接近 hh:mm:00.000s尽可能点。
function surprise(cb) {
(function loop() {
var now = new Date();
if (now.getDate() === 12 && now.getHours() === 12 && now.getMinutes() === 0) {
cb();
}
now = new Date(); // allow for time passing
var delay = 60000 - (now % 60000); // exact ms to next minute interval
setTimeout(loop, delay);
})();
}
关于javascript - 如何在特定时间和日期运行功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19088040/