Yii2格式化语言
Yii2 formatter language
这是我的配置:
'formatter' => [
'class' => 'yii\i18n\Formatter',
'dateFormat' => 'd MMMM Y',
'locale' => 'ru-RU'
],
当我尝试这个时:
echo Yii::$app->formatter->asDate('2014-01-01');
我得到:
01 Jan 2014
但我想要同样的俄语版本。
已解决:
通过 OpenServer 打开文件 php.ini 并取消注释 ;extension=php_intl.dll
。
您指定的配置应该输出 01 янв. 2014
您很可能缺少 php-intl 扩展
如果格式化程序设置为 'dateFormat' => 'php:d M Y'
,您只能得到 2014 年 1 月 1 日,因为 PHP 的日期 M
代表
A short textual representation of a month, three letters: Jan
through Dec
如果您希望根据您的语言将日期格式化为国际格式,您需要使用 ICU 设置格式化程序:
'dateFormat' => 'd MMM Y'
如 ICU User Guide 所述。
这是我的配置:
'formatter' => [
'class' => 'yii\i18n\Formatter',
'dateFormat' => 'd MMMM Y',
'locale' => 'ru-RU'
],
当我尝试这个时:
echo Yii::$app->formatter->asDate('2014-01-01');
我得到:
01 Jan 2014
但我想要同样的俄语版本。
已解决:
通过 OpenServer 打开文件 php.ini 并取消注释 ;extension=php_intl.dll
。
您指定的配置应该输出 01 янв. 2014
您很可能缺少 php-intl 扩展
如果格式化程序设置为 'dateFormat' => 'php:d M Y'
,您只能得到 2014 年 1 月 1 日,因为 PHP 的日期 M
代表
A short textual representation of a month, three letters:
Jan
throughDec
如果您希望根据您的语言将日期格式化为国际格式,您需要使用 ICU 设置格式化程序:
'dateFormat' => 'd MMM Y'
如 ICU User Guide 所述。