【发布时间】:2021-09-19 18:07:35
【问题描述】:
我对从数据库返回的时间有疑问,一切都是过去 2 小时。
我已经对此问题进行了一段时间的故障排除,并检查了以下内容:
/etc/php.ini 只是使用中的ini,并且有date.timezone = Europe/Amsterdam.(也重启了apache)
Laravel 的 app.php 配置有 'timezone' => 'Europe/Amsterdam'。
我跑了config:clear 和config:cache。
我能够将问题归结为 Carbon。
我有一条简单地返回 Carbon::now() 的路线,它显示 2021-07-09 10:58:31.874837Z(提前 2 小时)
如果我将代码修改为Carbon::now()->format("Y-m-d H:i:s"),它会返回2021-07-09 12:58:31,这是正确的时间。
如果我运行 tinker,然后运行Carbon/Carbon::now(),它会直接显示正确的时间(本地在 Win 10 和 centos 服务器上)
我不确定为什么 carbon 在格式化时会显示不同的时间,我是不是在某处遗漏了配置?
提前谢谢你。
注意:
如果我使用 tinker,我会从我的数据库(时区为 CEST)和 Carbon::now() 获得正确的时间
【问题讨论】:
标签: php laravel laravel-8 php-carbon php-8