Yii framework 2.0 asDate() на 1 час раньше

Работая с Yii framework 2.0, я получаю записи из своей базы данных. В каждой таблице у меня есть столбец с именем created_at. Допустим, created_at = '2015-12-25 01:00:00'. Я использую следующий форматтер Yii.

Yii::$app->formatter->asDate($model->created, 'php:d-m-Y h:i:s');

Результат: 25-12-2015 02:00:00. Это на 1 час раньше. Я не знаю почему. Что я должен настроить, чтобы исправить это?


person O Connor    schedule 20.01.2015    source источник
comment
Проверьте файл php.ini на предмет правильного часового пояса.   -  person Vick    schedule 20.01.2015


Ответы (2)


@Soju: я попробовал ваше решение. Мне нужно было немного изменить ваш ответ, так как он решает проблему со следующей конфигурацией.

'components' => [
    'formatter' => [
         'defaultTimeZone' => 'Europe/Paris',
    ],
],
person O Connor    schedule 21.01.2015

Вы должны установить форматтер defaultTimeZone и timeZone в конфигурации ваших компонентов, например, если вы сохраните UTC в своей базе данных и хотите отобразить Europe/Paris :

'components' => [
    'formatter' => [
        'defaultTimeZone' => 'UTC',
        'timeZone' => 'Europe/Paris',
   ],
],

Подробнее: http://www.yiiframework.com/doc-2.0/guide-output-formatter.html#time-zones

person soju    schedule 20.01.2015
comment
@sojo это не помогает. Любые другие решения? - person O Connor; 20.01.2015
comment
Привет, соджу - можно ли добавить формат вывода в средство форматирования, например, дд/мм/гг, чтобы отображать дату глобально в желаемом формате, или это работает только для сохранения в БД. Поскольку я пробовал ваше предложение, но все же дата отображения, которую я получаю, - ГГ/мм/дд. - person Pawan; 20.01.2015
comment
@Pawan: Если я правильно понял ваш вопрос, вы должны преобразовать дату из «дд/мм/ГГ/ в «дд-мм-ГГ», а затем использовать эту строку кода: Yii::$app-›formatter-›asDate ($model-›created_at, 'php:Y/m/d'); Потому что «дд/мм/ГГ» не является допустимым значением для использования в методе Yii 2 asDate(). - person O Connor; 21.01.2015