首页 > 解决方案 > node-schedule-tz:时区问题

问题描述

为什么这不起作用?

var tournRule = new schedule.RecurrenceRule();
tournRule.dayOfWeek = 3;
tournRule.hour = 03;
tournRule.minute = 08;
tournRule.tz = 'Central Time';

我试过在 **.tz = 'CDT'; 中输入这么多不同的东西。部分,但无论如何,它都不会触发。我没有从中得到任何错误。

蒂亚!

编辑

以为我也应该添加这个:

var tr = schedule.scheduleJob(tournRule, function() {
console.log("Im online. Im online");
})

编辑 2

我想将时区指定为我正在开发机器人的 ESL 团队,为美国中部玩家和英国玩家提供不同的时间表。

标签: javascriptnode.jsscheduled-tasks

解决方案


我建议尝试 cron 包:https://www.npmjs.com/package/cron

我发现这可以很好地与时区配合使用,这里有一个示例:

const CronJob = require('cron').CronJob;
const job = new CronJob({
  // Run at 05:00 Central time, only on weekdays
  cronTime: '00 00 05 * * 1-5',
  onTick: function() {
      // Run whatever you like here..
      console.log('CronJob ran!!');
  },
  start: true,
  timeZone: 'US/Central'
});

有关时区列表,请参见此处: https ://en.wikipedia.org/wiki/List_of_tz_database_time_zones


推荐阅读