我在 Laravel 应用程序中遇到了一个关于时区的小问题,非常感谢您的帮助。我在 Laravel 中有一项预定的工作来更新事件状态。作业日志在 laravel.log 文件中显示以下时间戳:
[2024-08-19 09:58:18] local.INFO: Success: Checked at 2024-08-19 09:58:18
[2024-08-19 09:58:18] local.INFO: Number of events updated to 'En cours': 0
[2024-08-19 09:58:18] local.INFO: Number of events updated to 'Terminé': 4
但是,实际当地时间是10:58,而不是09:58。我检查了以下内容:
服务器时区:
服务器时区设置正确。 Laravel 配置:
在 config/app.php 中,我有: php 复制代码 '时区' => 'UTC', 我需要日志时间来反映我的本地时区(例如,中欧时间)。我应该在 Laravel 配置或代码中更改哪些内容才能确保作业日志显示正确的本地时间?
我希望作业日志反映当地时区(例如非洲中部时间)而不是 UTC。如何配置 Laravel 或服务器以确保作业日志显示正确的本地时间?
您使用的是哪个 Laravel 版本?如果您使用 Laravel 11,应该有一个名为
APP_TIMEZONE
的键,默认为 UTC。
如果情况并非如此,并且您使用的是旧版本的 Laravel,您应该查看与您的问题相关的另一个问题的答案。
https://stackoverflow.com/a/43539446/16909735
另外,另一篇文章中的一个很好的参考是 PHP 文档中的时区列表参考 https://www.php.net/manual/en/timezones.php