Yii2 格式化程序语言环境不起作用
Posted
技术标签:
【中文标题】Yii2 格式化程序语言环境不起作用【英文标题】:Yii2 formatter locale not working 【发布时间】:2017-05-25 09:06:48 【问题描述】:我的 yii2 日期格式化程序有问题,它没有使用我设置的语言环境。全局语言设置为 de-DE,它似乎在除日期格式化程序之外的所有地方都生效。我尝试在配置文件中设置格式化程序语言环境,如下所示:
'formatter' => [
'dateFormat' => 'dd.MM.yyyy',
'decimalSeparator' => ',',
'thousandSeparator' => ' ',
'currencyCode' => 'EUR',
'locale'=>'de_DE'
],
也直接在代码中使用格式化程序之前:
Yii::$app->formatter->locale = 'de-DE';
echo Yii::$app->formatter->asDatetime('2014-01-01');
但它会将日期格式化为 2014 年 1 月 1 日上午 10:04:36。 有什么想法吗?
【问题讨论】:
这个问题在某种程度上是错误的。代码没有出现语言环境问题,这是由错误的属性使用引起的。 【参考方案1】:参数dateFormat
只对asDate()
有效。对于asDatetime()
设置datetimeFormat
。
【讨论】:
【参考方案2】:可能的原因: 检查并确保安装了 php-intl 扩展。
见:https://www.yiiframework.com/doc/guide/2.0/en/tutorial-i18n#parameter-formatting
【讨论】:
这还不够回答 提供更多关于你答案的细节以上是关于Yii2 格式化程序语言环境不起作用的主要内容,如果未能解决你的问题,请参考以下文章
我用 C 语言编写了一个程序,它接受两个输入,x 和 n,并将 x 提高到 n 次方。 10^10 不起作用,发生了啥?