laravel/mysql在创建和更新时应用了不同的时区

wdebmtf2  于 2021-06-15  发布在  Mysql
关注(0)|答案(3)|浏览(399)

我有一个应用程序正在使用

'timezone' =>'UTC'

在数据库设置中。这适用于所有创建的\u at字段,但是更新的\u at字段仍然位于错误的时区
如何让mysql将正确的时区应用到更新的\u at字段??
这些是我的数据库设置

'default' => 'main_db',
'fetch' => PDO::FETCH_ASSOC,
'connections' => [
    'main_db' => [
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => env('DB_DATABASE'),
        'username'  => 'root',
        'password'  => env('DB_PASSWORD'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'timezone' => env('DB_TIMEZONE')

env('db\u timezone')为“utc”

ozxc1zmp

ozxc1zmp1#

我们去档案室 config/app.php 并查找以下条目:

/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|

* /

'timezone' => 'UTC',

如您所见,utc是laravel的默认值。因此,您可以在这里轻松地将其更改为,例如,欧洲/伦敦或美国/洛杉矶-请参阅完整的php支持时区列表
如果更改此设置,很遗憾,旧条目不会自动更改,但新条目将与指定时区中的created\u at、updated\u at和类似字段一起保存。

q7solyqu

q7solyqu2#

我有一个类似的问题,我只是把我的国家地区,它为我工作

'timezone' =>'America/Vancouver'

设置脚本中所有日期/时间函数使用的默认时区
http://php.net/manual/en/function.date-default-timezone-set.php

e4eetjau

e4eetjau3#

您需要检查数据库,因为有数据类型类似或不默认也检查您是否应用了cuurent时间戳作为默认值然后
检查数据库。

相关问题