Laravel调度程序如何处理夏令时?

时间:2017-10-06 11:22:13

标签: php laravel timezone dst

目前,我计划在凌晨2点->dailyAt('02:00');安排作业。

我想知道如果会发生什么:

  • DST结束:作业会执行两次,因为3AM变为2AM?
  • DST开始:凌晨2点变为凌晨3点,那么作业是否会被执行?

2 个答案:

答案 0 :(得分:1)

调度程序没有DST,所以如果你在一天晚上02:00运行它,它将不会被执行,第二天晚上它将被执行两次。

我建议你将它安排在'DST更改区'之外,例如1:59

此问题已在https://github.com/laravel/docs/issues/3198

上公开

答案 1 :(得分:1)

如果你使用UTC时间,这个问题就完全消失了。 UTC不受时区影响。在服务器上使用/设置时区为UTC并根据需要进行转换的良好做法。