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

时间:2017-09-26 10:21:34

标签: php laravel laravel-5

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

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

4 个答案:

答案 0 :(得分:8)

这样做:

'timezone' => 'Asia/Singapore'

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

php artisan cache:clear

php artisan view:clear

php artisan config:cache

希望这可以帮助你!!

答案 1 :(得分:2)

config/app.php文件中添加:

'timezone' => 'Asia/Singapore'  

之后,运行此命令:

 php artisan config:cache

答案 2 :(得分:0)

至少在生成的Laravel 5.8应用程序框架中,也许也在其他版本中,brew cask install minishift minishift start --vm-driver virtualbox --cpus 2 --memory 8GB --disk-size 100GB --profile helm211 --openshift-version v3.11.0 eval $(minishift oc-env) 中的时区设置为 config/app.php, 因此它将忽略'timezone' => 'UTC'文件中的APP_TIMEZONE

因此,例如.env中的APP_TIMEZONE='Europe/Berlin',并将.env中的行修改为此:

config/app.php

或者,如果确定本地,暂存和生产都在同一时区中运行-只需将'timezone' => env('APP_TIMEZONE', 'UTC') 中的行更改为:

config/app.php

答案 3 :(得分:-1)

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

或者,如果您有更多的灵活性,那么有Carbon个套餐。它有许多有用的功能来处理日期时间操作。