带时区的 node-cron
Posted
技术标签:
【中文标题】带时区的 node-cron【英文标题】:node-cron with timezones 【发布时间】:2012-06-10 17:22:47 【问题描述】:我有一个带有node-cron(0.3.2) 和node-time(0.8.2) 的node(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
,我错过了什么吗?
【问题讨论】:
【参考方案1】:因为 node-cron 模块中的错误。我已经发送了pull request 来修复它。您可以在此模块的本地副本中更改此行。
您也可以使用多个函数参数来初始化 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);
【讨论】:
以上是关于带时区的 node-cron的主要内容,如果未能解决你的问题,请参考以下文章