Laravel流明未保存正确的时区

时间:2018-10-24 07:53:45

标签: timezone lumen

每个人 我是Laravel Lumen Framework的新手,我正在使用Laravel Lumen 5.4.7,而我的PHP版本是7.0。在使用Laravel Lumen网络api将时区保存到数据库中时,我遇到了问题。我已在.env中更改了本地时区文件

APP_TIMEZONE=Asia/karachi

当我回显这段代码时

date('Y-m-d H:i:s')

或这个

\Carbon\Carbon::now()

这两行代码返回我当前的本地时间,但是当我将该时区保存在数据库中的“ created_at”和“ updated_at”字段时。它保存了错误的时区。为什么会发生这种情况?我正在使用这行代码来将数据保存在数据库中

$order_data=array(
        'amount'=>35,
        'updated_at' =>\Carbon\Carbon::now(),
        'created_at' =>\Carbon\Carbon::now()
    );
DB::table('orders')->insertGetId($order_data);

我也尝试过这一行代码来保存数据

DB::table('orders')->insert($order_data);

但是在created_at和updated_at字段中数据库中仍然存在错误的时区。然后,我也更新了代码以使用Elequont,为此,我创建了一个名为“ Order”的模型,但在数据库中仍然存在错误的时区。代码如下。

$order_data=array(
        'amount'=>35,
        'updated_at' =>\Carbon\Carbon::now(),
        'created_at' =>\Carbon\Carbon::now()
    );   
Order::create($order_data);

我已经尽力消除此问题。但是还没有运气。有人能帮我为什么Lumen没有在数据库中保存当前时区吗?

1 个答案:

答案 0 :(得分:2)

尝试将'timezone' => env('APP_TIMEZONE', "UTC")添加到您的config/app.php中,然后运行php artisan cache:clear

还尝试将DB_TIMEZONE=+05:00添加到.env文件中(当然已调整为UTC偏移量)