2012-04-17 97 views
1

當我鍵入:Yii的全球日期格式(l18n)

Yii::app()->getLocale()->dateFormat 

它讓我對當前設置的語言正確的日期格式。 (在我的例子中是'de'=> dd.MM.yyyy)。但是當我輸入:

Yii::app()->format->dateFormat 

Yii給我'en_us'(Y/m/d)的日期格式。

使用getLocale()我只會得到保存在i18n文件中的字符串。在 - > format-> date()中應該使用這種格式的字符串,但是我沒有找到一種方法將i18n字符串分配給CDateFormatter或CFormatter對象。

回答

1

Yii::app()->format訪問的CFormatter部件不意味着用於本地化開箱;它不會根據應用程序語言環境自動工作。

您可以手動更改Yii::app()->format相關屬性,使之與應用程序地區線,但有一個格式化日期更方便的方法:

Yii::app()->locale->dateFormatter->formatDateTime(...) 

CDateFormatter::formatDateTime更多的信息如果你想要更多的控制,還有其他方法可用,如CDateFormatter::format。另請注意,CLocale::getNumberFormatter()可用於格式化數字。

+0

非常感謝。 – 2012-04-17 08:04:21