如何使用 Cron Scheduler 调整夏令时

问题描述

我在使用 Simple 调度程序时遇到了一个问题,例如我有一个每天在 13:00 执行一次的作业,但是当夏令时出现时,它在 14:00 执行,但我希望它恰好在 13:00 执行。我研究并看到我可以将 timezone 设置为 cronScheduler 并且它应该可以解决问题,然后我修改代码,现在我有

trigger = (crontrigger) TriggerBuilder.newTrigger()
        .withIdentity(key,group)
        .startAt(startTime)
        .withSchedule(schedBuilder.withMisfireHandlingInstructionFireAndProceed()
                .inTimeZone(TimeZone.getTimeZone(timeZone)))
        .forJob(jobDetail.getKey().getName(),jobDetail.getKey().getGroup())
        .build();

我在哪里设置时区,例如 Europe/BerlinCronExpression 类似这样的 0 0 13 * * ? * 但是当由于夏令时而改变时间时,我会得到相同的行为,并且触发器在 14:00:00 而不是 13:00:00 执行。我是否仍然遗漏了什么或有什么问题? 解决此问题的可能解决方案是什么? 如果 crontrigger 的这个时区没有任何影响,有(设置)它的原因是什么?

如果我设置 Europe/Berlin 时区和 0 0 13 * * ? * 表达式,它应该在柏林时间的 13:00:00 准确运行,并且对于任何其他时区都相同。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)