Laravel 修改时区,设置timezone
Laravel框架默认时区是UTC。
UTC(Universal Time Coordinated),即协调世界时,又称世界统一时间,世界标准时间,国际协调时间,不属于任意时区。
初始使用Laravel框架时,一般会遇到时间少了8小时的问题,其原因是Laravel框架默认时区是UTC,只需要将配置信息中的 timezone 设置到上海Asia/Shanghai就可以了。
最直接的方式,就是在config/app.php文件中修改,找到参数 'timezone'='UTC',将其修改为'timezone'='Asia/Shanghai'即可,代码如下:
/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'Asia/Shanghai',
//或者'timezone' => 'PRC'
但这并不是最佳实践,不推荐。最佳实践应该是将时区的配置信息(timezone)存储在.env和config/app.php文件中,然后使用config()或者env()函数读取。解决方案为:
在.env文件中增加一行代码:
TIMEZONE=Asia/Shanghai
在config/app.php文件中设置,
'timezone' => env('TIMEZONE', 'UTC'); //默认UTC