通过 Yii2-formatter 使用日期时间格式

Using datetime format via 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-config 是正确的。谁能帮忙,我的代码有什么问题?

我认为这与2014年(10月26日)俄罗斯全年恢复标准时间有关。参考this article

Most Russians will move to permanent Standard Time, or “winter time”, by setting their clocks 1 hour back on October 26, 2014. This is the same date most Europeans end Daylight Saving Time (DST).

检查 date.timezone 配置中的 php.ini 设置和使用的 PHP 版本,似乎已在更高版本中修复。

同时检查 tzdatapecl timezonedb

也许 this forum discussion 也会有帮助,即使是俄语。