Laravel 流明没有保存正确的时区

Sha*_*wan 2 timezone lumen

我是 Laravel Lumen 框架的新手。我使用的是 Laravel Lumen 5.4.7,我的 PHP 版本是 7.0。我在使用 Laravel Lumen web api 在数据库中保存时区时遇到了这个问题。我已经在 .环境文件

APP_TIMEZONE=Asia/karachi
Run Code Online (Sandbox Code Playgroud)

当我只回显这段代码时

date('Y-m-d H:i:s')
Run Code Online (Sandbox Code Playgroud)

或这个

\Carbon\Carbon::now()
Run Code Online (Sandbox Code Playgroud)

两行代码都返回我当前的本地时间,但是当我将此时区保存在数据库中的“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);
Run Code Online (Sandbox Code Playgroud)

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

DB::table('orders')->insert($order_data);
Run Code Online (Sandbox Code Playgroud)

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

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

我已经尝试了太多来消除这个问题。但还没有得到任何运气。谁能帮助我为什么 Lumen 没有在数据库中保存当前时区?

Sve*_*ort 5

尝试添加'timezone' => env('APP_TIMEZONE', "UTC")到您的config/app.php并在此php artisan cache:clear之后运行。

也尝试添加DB_TIMEZONE=+05:00到您的.env文件(当然调整到您的 UTC 偏移量)