6

我有一个带有node-cron (0.3.2) 和node-time (0.8.2)的节点(v0.7.3-pre) 服务器:

var cronJob = require('cron').CronJob;
var cronJ = new cronJob({
 cronTime: "00 29 16 6 * *",
 onTick: function() {
  console.log("Tick");
 },
 start:true,
 timeZone: "America/Los_Angeles"
});
console.log(cronJ);

它运行,但 Cron 始终使用服务器时间(UTC),返回的 cron 是:

{ _callbacks: [ [Function] ],
  onComplete: undefined,
  cronTime:
   { source: '00 29 16 6 * *',
     zone: undefined,
     second: { '0': true },
     minute: { '29': true },
     hour: { '16': true },
     dayOfWeek:
...

zone设置为,undefined我错过了什么吗?

4

1 回答 1

7

因为 node-cron 模块中的错误。我已经发送了一个拉取请求来修复它。您可以在此模块的本地副本中更改此行。

您还可以使用多个函数参数来初始化 cronJob 而不是一个对象:

var cronJob = require('cron').CronJob;
var cronJ = new cronJob("00 29 16 6 * *", function() {
        console.log("Tick");
}, undefined, true, "America/Los_Angeles");

console.log(cronJ);
于 2012-06-07T00:35:53.927 回答