我有一个正在使用
的应用'timezone' =>'UTC'
在数据库设置中。这适用于所有created_at字段,但是updated_at字段仍位于错误的时区
我如何使MYSQL将正确的时区应用于Updated_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_TIMEZONE')为'UTC'
答案 0 :(得分:0)
我有一个类似的问题,我只是将我的国家/地区设置为它对我有用
'timezone' =>'America/Vancouver'
设置脚本中所有日期/时间函数使用的默认时区
http://php.net/manual/en/function.date-default-timezone-set.php
答案 1 :(得分:0)
您需要检查数据库,因为那里的数据类型是否相似,并且默认情况下,还要检查是否已将cuurent时间戳记用作默认值,然后
检查数据库。
答案 2 :(得分:0)
我们转到文件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 Supported Timezones
如果您更改此设置,很遗憾,旧条目不会自动更改,但是新条目将与 created_at,updated_at 以及指定时区中的类似字段一起保存。