我目前在数据库中插入错误的日期和时间时遇到问题,我目前使用 laravel 并在我的 app.php 中 'timezone' => '加拿大/中部', 今天我插入我的时间和日期是 11:23PM/09/06/2019 的订单,然后在我将订单插入数据库后,根据我的时间,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 文件中,以便可以跨应用程序访问它。您可以为此执行以下操作。
在 .env 中添加新 key
APP_TIMEZONE
APP_TIMEZONE="America/Chicago"//根据您的时区进行更改。
更新
config/app.php
以使用 .env 设置。"timezone"= env("APP_TIMEZONE", "UTC");
您必须使用
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/