繁体   English   中英

Laravel更改时区不能反映正确的时间

[英]Laravel changing timezone not reflecting the correct time

我在config/app.php将时区更改为Asia/Singapore ,但是当我尝试date("Ymd H:i:s"); 结果仍然是UTC。

Laravel中是否有任何内容覆盖我在config/app.php设置的时区?

这样做:

'timezone' => 'Asia/Singapore'

config/app.php文件中并运行以下3命令:

php artisan cache:clear

php artisan view:clear

php artisan config:cache

希望这对你有所帮助!!

config/app.php文件中添加:

'timezone' => 'Asia/Singapore'  

之后,运行以下命令:

 php artisan config:cache

至少在Laravel 5.8生成的应用程序框架中,也许是其他版本, config/app.php'timezone' => 'UTC'区设置是'timezone' => 'UTC' ,因此它将忽略.env文件中的APP_TIMEZONE

所以在.env.env一个例如APP_TIMEZONE='Europe/Berlin'并将config/app.php的行修改为:

'timezone' => env('APP_TIMEZONE', 'UTC')

或者,当它确定本地,分段和生产都在同一时区运行时 - 只将config/app.php的行更改为:

'timezone' => 'Europe/Berlin',

date()函数php不会从Laravel config/app.php加载配置。 要更改时区,您应该通过date.timezone参数上的php.ini更改它。 更改后不要忘记重新启动apache。

或者,如果你不是更灵活,有Carbon包。 它有许多有用的功能来处理日期时间操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM