从数据库返回的Laravel datetime与同一数据库中的记录不同

时间:2017-03-18 18:50:11

标签: php mysql laravel lumen

长话短说:

public function betweenDate($startDate,$startTime,$endDate,$endTime){

      return DB::table('tablice')->where([['datum', '>', $startDate." ".$startTime], ['datum', '<', $endDate." ".$endTime]])->get();

    }

我需要在日期之间搜索数据库中的记录,这段代码有效,但只有一个简单的错误。返回日期如下... {"id":62667,"br_tablice":"LK493","moguce_tablice":"LK493,LK8493,LK4293,LK4J93,LK893,L8493,LKB493,","ostalo":null,"datum":"2017-03-17 19:00:14"} ...。返回日期为2017-03-17 19:00:14但在数据库中为2017-03-17 20:00:14,我无法弄清楚原因。在.env我设置APP_TIMEZONE=CET,与数据库使用相同。更改时区不起作用,因为我尝试了每个时区。

1 个答案:

答案 0 :(得分:0)

经过几个小时的搜索,我决定更改每段代码,直到上面没有更正。正如评论建议查看config/app.php但没有与数据库相关,但查看config/database.php可以解决我的问题。在database.php中,有一行... 'timezone' => env('DB_TIMEZONE', '+00:00'), ...所以我将它改为+01,瞧,它有效。谢谢大家的建议。