1

入力すると:

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 オブジェクトに割り当てる方法が見つかりません。

4

1 に答える 1

1

CFormatterでアクセスされるコンポーネントはYii::app()->format、そのままローカリゼーションに使用するためのものではありません。アプリケーションのロケールに応じて自動的に機能するわけではありません。

関連するプロパティを手動で変更しYii::app()->formatて、アプリケーションロケールに合わせることができますが、日付をフォーマットするためのより便利な方法があります。

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

詳細についてはを参照CDateFormatter::formatDateTimeしてください。より詳細な制御が必要な場合は、利用可能ななどの他の方法がCDateFormatter::formatあります。また、CLocale::getNumberFormatter()数値のフォーマットに使用できることにも注意してください。

于 2012-04-17T07:30:26.260 に答える