使用日期时间格式通过yii2格式化


Using datetime format via Yii2-formatter

我使用Yii2-formatter有问题。我的配置

    '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');

it work correct - show 15.06.2014 14:10当我尝试

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

it work not correct - show 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日)俄罗斯全年恢复标准时间有关。参考本文:

大多数俄罗斯人将采用永久标准时间,或"冬季时间",将他们的时钟调慢一小时,回到2014年10月26日。这是与大多数欧洲人结束日光节约时间(DST)的日期相同。

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

同时检查tzdatapecl timezonedb

也许这个论坛的讨论也会有帮助,即使它是俄语。