我有一个问题,我在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"
}
然而,当我拉出一条记录表示创建日期为“2016-04-14 10:00:00”时,它会返回“2016-04-14 09:00:00”。
我们将非常感谢您对此时区问题的任何帮助。
我遇到了解决方案。它发现有一个变量需要添加到Lumen中的.env文件中,您要处理数据库。
DB_TIMEZONE=+01:00
您可能需要添加一个cron作业来更新与DST之间的更改变量,因为不支持“欧洲/伦敦”。
我也试过很多解决方案。所以结论是:
只需在.env
中设置差异(在显示的时间和输入记录的时间之间)
例如因此,请在2016-04-14 10:00:00进入,并显示2016-04-14 15:00:00,然后在.env中设置DB_TIMEZONE=+05:00