Я хочу запускать функцию каждые 5 минут после часа, т. Е. 08:05, 08:10, 08:15 и т. Д. Весь день
как мне адаптироваться:
setTimeout(function(){ xxxxxxx() }, 300000);
для определения текущего времени - если кратно 5, тогда запустить функцию xxxxxx ()?
Использование setInterval для вызова функции каждую секунду. Затем с помощью фильтра по текущему времени минуты делятся на 5, а секунды равны нулю.
setInterval
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()
setInterval()
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);