【问题标题】:Yii2 formatter locale not workingYii2 格式化程序语言环境不起作用
【发布时间】: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。 有什么想法吗?

【问题讨论】:

  • 这个问题在某种程度上是错误的。代码没有出现语言环境问题,这是由错误的属性使用引起的。

标签: yii2 date-formatting yii2-basic-app dateformatter


【解决方案1】:

参数dateFormat 只对asDate() 有效。对于asDatetime() 设置datetimeFormat

【讨论】:

    【解决方案2】:

    可能的原因: 检查并确保安装了 php-intl 扩展。

    见:https://www.yiiframework.com/doc/guide/2.0/en/tutorial-i18n#parameter-formatting

    【讨论】:

    • 这还不够回答
    • 提供更多关于你答案的细节
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2021-06-08
    • 2014-01-17
    • 2016-03-29
    • 2014-02-11
    相关资源
    最近更新 更多