JQuery 运行 整点后每 5 分钟 5,10,15...55

JQuery run every 5 minutes past the hour 5,10,15...55

我正在寻找 运行 每 5 分钟一个函数,即 08:05、08:10、08:15 等..一整天

我该如何适应:

 setTimeout(function(){ 
    xxxxxxx() 
 }, 300000);

检测当前时间 - 如果是 5 的倍数则 运行 xxxxxx() 函数?

使用setInterval每秒调用函数。 然后按当前时间使用过滤器,分钟可被 5 整除,秒为零。

var timer = 0;
timer = setInterval(function(){ 
 var currentdate = new Date();  
 if(currentdate.getMinutes() % 5 == 0 && currentdate.getSeconds() == 0) {
  console.log("Alarm");
 }
}, 1000);
//to stop: clearInterval(timer);

相当简单:

  • 等到使用 setTimeout()
  • 达到 5 分钟边界
  • 使用setInterval()每5分钟调用一次函数

function dosomething() {
  console.log("dosomething() called at " + new Date().toISOString());
}

var FIVEMINUTES = 5 * 60 * 1000;
var timeSincePrev = new Date() % FIVEMINUTES;
var timeUntilNext = timeSincePrev === 0 ? 0 : (FIVEMINUTES - timeSincePrev);

setTimeout(function() {
  dosomething(); // execute now
  setInterval(dosomething, FIVEMINUTES); // and after every 5 minutes
}, timeUntilNext);