как можно синхронизировать функцию в узле js с интервалом в 6 часов в зависимости от реального времени, которое у него есть, а не от времени на его устройстве? - PullRequest
0 голосов
/ 28 октября 2018
var time= new Date().getHours();

if(time== "6"){
       //function Do stuff
}
if(time== "12"){
       //function Do stuff
}
if(time== "18"){
       //function Do stuff
}
if(time== "24"){
       //function Do stuff
}

но когда меняют время в моей лаборатории на любое из этих часов, функция вызывает

, как можно получить реальное время в своей зоне?

1 Ответ

0 голосов
/ 28 октября 2018

Вы можете использовать библиотеку расписания узлов.https://www.npmjs.com/package/node-schedule

var schedule = require('node-schedule');

schedule.scheduleJob("*/6 * * *", function() {
     //function Do stuff every 6 hours
});

Формат задания Cron

*    *    *    *    *    *
┬    ┬    ┬    ┬    ┬    ┬
│    │    │    │    │    │
│    │    │    │    │    └ day of week (0 - 7) (0 or 7 is Sun)
│    │    │    │    └───── month (1 - 12)
│    │    │    └────────── day of month (1 - 31)
│    │    └─────────────── hour (0 - 23) 
│    └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)

Альтернативно более подробный метод

schedule.scheduleJob({hour: 6, minute: 0, dayOfWeek: 0}, function(){
   //function Do stuff every 6 hours
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...