Spring 带 EST 区域的预定注释,不起作用

Spring Scheduled annotation with zone EST, not working

我正在尝试在 EST 时区为 运行 创建一个调度程序。为此,我在预定方法上添加了@Scheduled 注释。下面给出方法。我希望此方法在周一至周五美国东部标准时间 05:00 每天 运行,但它 运行 在美国标准时间 3:30 上午(美国东部标准时间下午 6:00)运行。

@Scheduled(cron = "0 0 5 * * MON-FRI", zone = "EST")
public void jobRunDaily() {
  logger.info("jobRunDaily : called");
  this.sendEmailDaily();
}

documentation 中所述,zone 接受对 TimeZone.getTimeZone(String) 有效的 ID。

TimeZone documentation 中,您将找到此类方法的以下内容:

the ID for a TimeZone, either an abbreviation such as "PST", a full name such as "America/Los_Angeles", or a custom ID such as "GMT-8:00". Note that the support of abbreviations is for JDK 1.1.x compatibility only and full names should be used.

这意味着应该使用全名而不是您的“EST”缩写。