Node.js 如何在12:00AM(在所有时区都相同)为多个国家/地区编写使用NestJS的调度程序?

Node.js 如何在12:00AM(在所有时区都相同)为多个国家/地区编写使用NestJS的调度程序?,node.js,express,nestjs,nestjs-config,Node.js,Express,Nestjs,Nestjs Config,我有一个时间表,它必须在印度时区的12:00和新加坡时区的12:00运行。我能够为印度用户编写cron作业,但是如何在新加坡凌晨12:00触发相同的作业呢?我认为可以很容易地使用例如晚上9:30(UTC+08:00(新加坡)-UTC+05:30(印度))AM来代替上午12:00如果使用此方法,只需编写一次代码,并从@cron()修饰的两个函数调用它 服务台 是的,为此,我需要两个单独的调度器和重复的代码。将来,我们将支持多个时区。如果你设定开始时间,为印度和新加坡设定两次,那么这个解决方案是不可

我有一个时间表,它必须在印度时区的12:00和新加坡时区的12:00运行。我能够为印度用户编写cron作业,但是如何在新加坡凌晨12:00触发相同的作业呢?

我认为可以很容易地使用例如晚上9:30(UTC+08:00(新加坡)-UTC+05:30(印度))AM来代替上午12:00

如果使用此方法,只需编写一次代码,并从@cron()修饰的两个函数调用它

服务台


是的,为此,我需要两个单独的调度器和重复的代码。将来,我们将支持多个时区。如果你设定开始时间,为印度和新加坡设定两次,那么这个解决方案是不可行的。但是让我来写代码,告诉你怎么做。
@Injectable()
export class Service {
  @Cron('* * 0 * * *', {
    timeZone: 'Asia/Tehran', // use this website: https://momentjs.com/timezone/
  })
  async iran() {
    this.yourFunction();
  }

  @Cron('* * 0 * * *', {
    timeZone: 'Asia/Tokyo',
  })
  async japan() {
    this.yourFunction();
  }

  async yourFunction() {
    // write the schedule only one time
  }
}