仅在一天的特定时间以设定的间隔运行功能

use*_*486 0 javascript timer timer-jobs setinterval node.js

我目前正在全天候定期运行一个函数.

setInterval( function(){ do_this(); } , 1000*60);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不是我想要的.我希望这个功能只能在早上9点到18点之间定期运行.该功能不应在这些时间之外运行.如何在node.js中完成?是否有方便的模块或功能可供使用?

jfr*_*d00 5

您只需检查当前时间是否在所需的时间范围内,然后使用它来决定是否执行您的功能.

setInterval( function(){ 
    var hour = new Date().getHours();
    if (hour >= 9 && hour < 18) {
        do_this(); 
    }
} , 1000*60);
Run Code Online (Sandbox Code Playgroud)

这将在9:00到18:00之间每分钟运行一次.