Использование формата datetime через Yii2-formatter

У меня проблема с использованием Yii2-форматера. Мой конфиг
является

    'formatter' => [
'class' => 'yii\i18n\Formatter',
'defaultTimeZone' => 'Asia/Novosibirsk',
'timeZone' => 'Asia/Novosibirsk',
'currencyCode' => 'RUB',
'locale' => 'ru_RU',
'dateFormat' => 'php:d.m.Y',
'timeFormat' => 'php: H:i:s',
'datetimeFormat' => 'php:d.m.Y H:i',
],

Когда я пытаюсь

echo Yii::$app->formatter->asDateTime('15-06-2014 14:10:10');

все работает правильно — шоу 15.06.2014 14:10.
Когда я пытаюсь

echo Yii::$app->formatter->asDateTime('15-06-2015 14:10:10');

это работает не правильно — покажи 15.06.2015 15:10. Когда я установил 2016 год, он тоже не исправлен. Я стараюсь

echo date('d.m.Y H:i', strtotime('15-06-2015 14:10:10'))

И работает корректно на 2015 и 2016 годы, PHP-конфиг правильный. Может ли кто-нибудь помочь, что не так с моим кодом?

1

Решение

Я думаю, что это связано с возвращением к стандартному времени в течение всего года в России в 2014 году (26 октября). Увидеть Эта статья для справки:

Большинство россиян перейдут на постоянное стандартное время или «зимнее время»,
установив часы на 1 час назад 26 октября 2014 года.
В тот же день большинство европейцев заканчивают переход на летнее время.

Проверь себя date.timezone установка в php.ini используется конфигурация и версия PHP, похоже, это было исправлено в более поздних версиях.

Также проверьте tzdata а также pecl timezonedb,

Может быть это обсуждение на форуме тоже будет полезно, даже на русском языке.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector