クラスを使用してアプリケーションの日付と時刻を国際化することを検討していIntlDateFormatter
ますが、マニュアルでは何をすべきかが明確ではありません。
アプリケーションに次の日付、時刻、および日時の形式があるとします。
2013-07-01 午後 10 時
7 月 1 日 @ 午後 10 時
7月1日
午後10時
そして、別のロケールでは次のように表示されるようにローカライズしたいと考えています。
2013 年 7 月 1 日 22 時
7 月 1 日 22 時
7月1日
22:00
どうすればこれを行うことができますか?これを処理するために8 つの異なるIntlDateFormatter
オブジェクトを作成する必要があるでしょうか?
$fmt['en-CA']['dt_long'] = new IntlDateFormatter("en_CA", null, null, null, IntlDateFormatter::GREGORIAN, 'Y-M-dd h:mm a');
$fmt['fr-CA']['dt_long2'] = new IntlDateFormatter("fr_CA", null, null, null, IntlDateFormatter::GREGORIAN, 'Y-M-dd H:mm');
$fmt['en-CA']['dt_short'] = new IntlDateFormatter("en_CA", null, null, null, IntlDateFormatter::GREGORIAN, 'MMM d @ h:mm a');
$fmt['fr-CA']['dt_short2'] = new IntlDateFormatter("fr_CA", null, null, null, IntlDateFormatter::GREGORIAN, 'MMM d 'à' H'h'mm');
...
クラス定数の 2 番目と 3 番目のパラメーターが何らかの理由でそこにあるはずなので、私は何か間違っていると思いますよね?
例と説明は素晴らしいでしょう。