每个人 我是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没有在数据库中保存当前时区吗?
答案 0 :(得分:2)
尝试将'timezone' => env('APP_TIMEZONE', "UTC")
添加到您的config/app.php
中,然后运行php artisan cache:clear
。
还尝试将DB_TIMEZONE=+05:00
添加到.env
文件中(当然已调整为UTC偏移量)