Javascript cron job node.js:作业正在无限重复
正在尝试使用此包在node.js应用程序中获取cron作业 在这里,我在特定的日期和时间运行cronjobJavascript cron job node.js:作业正在无限重复,javascript,node.js,cron,Javascript,Node.js,Cron,正在尝试使用此包在node.js应用程序中获取cron作业 在这里,我在特定的日期和时间运行cronjob schedule.scheduleJob(new Date(date), function(){ console.log('The world is going to end today.'); }); 从他们的医生那里 假设您非常明确地希望函数在 2012年12月21日。记住——在JavaScri
schedule.scheduleJob(new Date(date), function(){
console.log('The world is going to end today.');
});
从他们的医生那里
假设您非常明确地希望函数在
2012年12月21日。记住——在JavaScript中——0——2011年1月11日-
十二月。日期应如下所示var日期=新日期(2012、11、21、5、30、0) 我使用矩从unix时间戳生成cron job
date
let date = moment.unix(dateInUTC).format('YYYY-M-DD-H-mm-s').split('-');
date[1] = date[1]-1;
return date.toString();
上述日期的样本输出
UNIX time 1516196220
Converted date 2018,0,17,19,07,0
一切正常,但cron作业无限运行,我的控制台如下所示
console.log('The world is going to end today.');
console.log('The world is going to end today.');
console.log('The world is going to end today.');
console.log('The world is going to end today.');
-------------------------------
-------------------------------
endless
您的约会不会以正确的格式结束:
let date = moment.unix(dateInUTC).format('YYYY-M-DD-H-mm-s').split('-');
date[1] = date[1]-1;
return date.toString();
因此,date
是一个数组,您正在调用.toString()
。最终会出现如下情况:
'10,20,30,40,50'
这不是Date
构造函数可以解析的格式,它需要ISO8601格式
时刻
已经为您指定的时间戳发出了一个日期
值;你能直接使用它吗?我不能直接使用它,因为月份指数应该从零开始,例如:0-1月,11-12月,这就是我使用拆分方法的原因。这不是由时刻管理的吗?如果没有,它就不能正确地发送日期。在这种情况下,您需要立即解析它,然后正确地重建日期(即,将组件分别传递到date()
constructor中)。是的,我正在以这种方式查看我的第一个代码部分newdate(date)
但是日期
是从返回日期.toString()生成的代码>。您正在对数组调用.toString()
,该数组将打印出一个字符串,如我的答案中所示,构造函数无法识别该字符串。您需要将组件分别传递给Date
构造函数