Joa*_*vcm 5 javascript cron timezone node.js
我有一个节点(v0.7.3-pre)服务器与node-cron(0.3.2)和节点时间(0.8.2):
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);
Run Code Online (Sandbox Code Playgroud)
它运行,但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:
...
Run Code Online (Sandbox Code Playgroud)
将zone被设置为undefined,我失去了什么?
因为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);
Run Code Online (Sandbox Code Playgroud)