我在我的数据库字段中。类型: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) 我尝试过。什么都没有帮助。
答案 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();
}
],