yii2错误的时区

时间:2016-01-13 16:16:55

标签: timezone yii2

我在我的数据库字段中。类型:TIMESTAMP(例如2015-12-23 15:38:32)。 我在GridView中得到了这个时间。

[
    'attribute' => 'date',
    'format' => 'datetime',
],

配置格式化程序:

'formatter' => [
    'dateFormat' => 'php:d.m.Y',
    'datetimeFormat' => 'php:d.m.Y H:i:s',
    'defaultTimeZone' => 'Europe/Kiev',
    'timeZone' => 'Europe/Kiev',
],

我从数据库时间获得+1时间。 (2015-12-23 15:38:32 +1小时= 2015-12-23 16:38:32) 我尝试过。什么都没有帮助。

1 个答案:

答案 0 :(得分:0)

您可以在dbO组件中的afterOpen事件中的config / main.php中配置db时区:

'db' => [
    'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=db_name',
        'username' => 'db_username',
        'password' => 'db_password',
        'charset' => 'utf8',

        'on afterOpen' => function($event) {
            $event->sender->createCommand("SET time_zone = '+00:00'")->execute();
        }              
    ],