php - 在 mysql 中更新日期和时间时如何修复 laravel 的错误日期和时间

标签 php mysql laravel

我目前在数据库中插入错误的日期和时间时遇到问题,我目前使用 laravel 并在我的 app.php 中 'timezone' => '加拿大/中部', 今天我插入我的时间和日期是 11:23PM/09/06/2019 的订单,然后在我将订单插入数据库后,根据我的时间,order_date 不正确。

我的时间和日期:

enter image description here

订单日期和时间已插入数据库:

order_date

我将向大家分享我的脚本和代码:

$now = new DateTime();

DB::insert('INSERT INTO order_properties (customer_id,order_ship_address,delivery_status,order_ship_province,order_date,transaction_number) 
        VALUES (?,?,?,?,?,?) ',[

        $hidden_customer_id,
        $hidden_customer_address,
        'Processing',
        Auth::user()->manager_location_assign,
        $now,
        $sessionTransactionNumber


    ]);

最佳答案

确保您在设置时间内使用了时区。否则首选使用 Eloquent 进行数据插入。

PHP DateTime 类不会自动读取 Laravel 设置。

此外,我建议将时区保留在 .env 文件中,以便可以跨应用程序访问它。您可以为此执行以下操作。

  1. 在 .env 中添加新 key APP_TIMEZONE

    APP_TIMEZONE="America/Chicago"//根据您的时区进行更改。

  2. 更新 config/app.php 以使用 .env 设置。

    "timezone"= env("APP_TIMEZONE", "UTC");

  3. 您必须使用 Carbon 库并更改代码以获取时区,例如

    $now = Carbon::now(env("APP_TIMEZONE"));

还要确保您的时区加拿大/中部必须在 php 支持列表中可用。

这里是PHP支持的时区https://www.w3schools.com/php/php_ref_timezones.asp

关于php - 在 mysql 中更新日期和时间时如何修复 laravel 的错误日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56521017/

相关文章:

PHP 升级图像?

php - 帮助创建 ZIP 文件 Windows 不会阻止

php - 需要在不使用 PHP 的情况下从 Windows .cmd 脚本中找到 PHP 安装路径

php - 使用选择数据更新查询

orm - Laravel Eloquent 访问原文

php - 如何在为注册用户提供完全访问权限的同时限制未注册用户的访问权限?

mysql - 如何执行此 MySQL 分区?

php - 如何使用 PHP 增加 MySQL 数据库中的某些行?

php - 更改 Laravel Jetstream 应用程序中的 Logo

php - token 身份验证 - token 的存储位置