javascript - 如何在特定时间和日期运行功能?

标签 javascript jquery date time

如何在给定的时间和日期运行函数?

示例:我有一个函数需要在每个月的 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/

相关文章:

ios - 如何在 swift 中按日期对对象数组进行分组?

mysql - 将 CSV 导入 MySQL 并转换日期(在多列上)

javascript - Backbone.js:model.isNew() == true,但 model.save() 导致 POST 请求而不是 PUT

javascript - 在 jasmine 指令 Controller 中返回一个 promise

JavaScript 允许各种函数仅在某些条件为真时执行

javascript - 在 MongoDB 中使用 $lt 和 $gt 过滤日期值

javascript - 在媒体查询中禁用 JavaScript

javascript - 无法使用 Jquery Ajax post 方法将 json 数据显示为 html

javascript - 为什么我的 start() 和 stop() 方法不起作用?

javascript - 用按钮切换显示/隐藏div?