Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript cron job node.js:作业正在无限重复_Javascript_Node.js_Cron - Fatal编程技术网

Javascript cron job node.js:作业正在无限重复

Javascript 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

正在尝试使用此包在node.js应用程序中获取cron作业

在这里,我在特定的日期和时间运行cronjob

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
构造函数