我有一个问题,我已经将Lumen配置中的时区设置为欧洲/伦敦。直到最近对DST进行了更改,它才设置了正确的created_at和updated_at日期,但当我调用该记录时,它显示的日期时间就好像是UTC,而不是BST/DST。
在我的config/app.php文件中;
...
timezone' => 'Europe/London',
...在我的检查路线上,我有;
$app->get('mytime', function() {
$now = Carbon\Carbon::now();
dd($now, date('Y-m-d H:i:s'));
});回传
Carbon {#35 ▼
+"date": "2016-04-14 10:33:15.000000"
+"timezone_type": 3
+"timezone": "Europe/London"
}然而,当我打开一张记录,上面写着created_at的日期应该是'2016-04-14 10:00‘时,它会返回'2016-04-14 09:00:00’。
对此时区问题的任何帮助都将感激地收到。
发布于 2016-04-14 13:33:10
我找到了解决办法。据了解,在您处理数据库的Lumen中,有一个变量需要添加到.env文件中。
DB_TIMEZONE=+01:00您可能需要添加一个cron作业来更新DST更改中的变量,因为'Europe/London‘不受支持。
发布于 2018-09-10 05:51:35
我也尝试过很多解决办法。因此,结论是:
只需设置差异(在显示的时间和输入记录的时间之间)。在.env中
例如,在2016-04-14 10:00上登录,并显示2016-04-14 15:00,然后在.env中设置DB_TIMEZONE=+05:00
https://stackoverflow.com/questions/36623446
复制相似问题