我使用Yii2-formatter有问题。我的配置
'formatter' => [
'class' => 'yiii18nFormatter',
'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版本,似乎在以后的版本中已经修复了。
同时检查tzdata
和pecl timezonedb
。
也许这个论坛的讨论也会有帮助,即使它是俄语。