[英]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.