Answer the question
In order to leave comments, you need to log in
How to run a js script every hour on global time?
How to execute the script every hour starting from 00:00. That is, if the user enters the site at 11:58, the script will run at 12:00, etc.
Answer the question
In order to leave comments, you need to log in
var startScript = (new Date().getHours()+1)%24;//Берем текущий час например 21 прибавляем 1, 21 + 1 = 22 это час когда нужно запустить скрипт
if(new Date().getMinutes() == 0)//Если мы зашли на сайт и минуты равны 0, например 22:00 то сразу же запускаем наш скрипт
myScript();
loop();//Вызываем наш цикл
function loop(){
var date = new Date();//Берем текущее время
if(date.getMinutes() == 0 && date.getHours()==startScript){//Если минут равны нулю и текущий час тому в котором нужно запустить скрипт
startScript = (startScript+1)%24 ;//прибавляем +1 к часу в котором нужно запустить скрипт
myScript();// и запускаем скрипт
}
setTimeout(loop,30000);//проверка текущего времени 1 раз в 30 секунд, если нужно чтобы скрипт запускался с точностью до секунды (22:00:00) поставить ~500
}
function myScript(){
//Ваш скрипт
alert("hello,word!");
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question