Javascript 如何使用Nodejs中的议程在将来的特定日期和时间运行类似cron的作业

Javascript 如何使用Nodejs中的议程在将来的特定日期和时间运行类似cron的作业,javascript,node.js,cron,agenda,Javascript,Node.js,Cron,Agenda,我这里有个问题。如何像节点调度器那样使用日程安排在将来的特定日期和时间运行作业。在此基础上,提出了cron风格的节点调度方法。因此,我更容易从输入中提取日期。我读过议程文档,它说议程使用人的时间间隔来指定时间间隔 我该怎么做呢?如果您有未来的日期,您可以将其转换为从今天开始的天数,甚至转换为秒数,如下所示,然后将其用于议程cron作业 函数findDaysDifference(日期1、日期2){ //以毫秒为单位获取1天 var One Day_ms=1000*60*60*24; //将两个

我这里有个问题。如何像节点调度器那样使用日程安排在将来的特定日期和时间运行作业。在此基础上,提出了cron风格的节点调度方法。因此,我更容易从输入中提取日期。我读过议程文档,它说议程使用人的时间间隔来指定时间间隔


我该怎么做呢?

如果您有未来的日期,您可以将其转换为从今天开始的
天数
,甚至转换为
秒数
,如下所示,然后将其用于
议程
cron作业

函数findDaysDifference(日期1、日期2){ //以毫秒为单位获取1天 var One Day_ms=1000*60*60*24; //将两个日期转换为毫秒 var date1_ms=date1.getTime(); var date2_ms=date2.getTime(); //以毫秒为单位计算差值 var差异=日期2\u ms-日期1\u ms; //返回到天并返回 返回Math.round(差分/一天); } var futureDate=新日期(2018,0,1); var daysFromNow=findDaysDifference(新日期(),未来日期); console.log(daysFromNow)With Agenda.js

这意味着它支持cron风格的调度方法

例如 您可以安排作业从当前时间开始运行3分钟

在周一09:00运行作业

周六23:45(晚上11:45)跑步


那么,默认情况下,作业将在当天上午12点运行?您上面的代码为我工作。但如何告诉议程在2018年1月1日下午4点运行作业。你知道吗?是的,如果你想在特定的时间运行,那么在
futureDate
中设置时间,计算一天的分钟数,如
var-oneDay\u ms=60*24
并用
agenda.schedule(daysFromNow+'minutes',sayHello')进行日程安排让我在2018年1月1日下午4点更新答案,如您所愿
  await agenda.schedule('3 minutes', 'send confirmation to new user', {email:"newuser@mal.com"} );

  // Alternatively, you could also do:
  await agenda.schedule('*/3 * * * *', 'send confirmation to new user', {email:"newuser@mal.com"});
   
   await agenda.schedule('0 9 * * 1', 'MondayJob', {msg:"guess what today is 'Monday'"});
await agenda.schedule('45 23 * * 6', 'jobName', {});