阅读(4653)
赞(9)
Laravel 8 时区
2021-07-06 09:25:12 更新
timezone
方法可指定任务在给定时区中的时间执行:
$schedule->command('report:generate')
->timezone('America/New_York')
->at('02:00')
若想给所有计划任务分配相同的时区,那么需要在 app/Console/Kernel.php
文件中定义 scheduleTimezone
方法。这个方法会返回一个默认时区,最终分配给所有计划任务:
/**
* 获取计划事件默认使用的时区
*
* @return \DateTimeZone|string|null
*/
protected function scheduleTimezone()
{
return 'America/Chicago';
}
注意:请记住,有些时区会使用夏令时。当夏令时发生调整时,你的任务可能会执行两次,甚至根本不会执行。因此,我们建议尽可能避免使用时区来安排计划任务。