2

このような日付を表示したい:平日7月。私はこれを行い、正しい構文を持っています。

NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEEE dd MMMM"];
[df setTimeZone:[NSTimeZone localTimeZone]];

ログに記録された結果: 3 月 16 日土曜日。英語の日付ではなく、フランス語の日付が欲しいだけです。ローカル タイム ゾーンを設定しようとしましたが、何も変わりません。これを行う方法のアイデアはありますか?

4

2 に答える 2

7

識別子を使用してロケールを初期化します。から利用可能なすべての識別子を取得できます

[NSLocale availableLocaleIdentifiers];

@"fr_BI" はフランスの識別子の 1 つだと思います

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"fr_BI"];
[dateFormatter setLocale:locale];
于 2013-03-16T11:33:12.970 に答える
2

NSLocale適切なオブジェクトを使用して、日付フォーマッターのロケールを設定します。

また、そのようなハードコーディングされた日付形式にも注意してください。ユーザーはその形式で日付を表示することを好まない可能性があるため、+[NSDateFormatter dateFormatFromTemplate:options:locale:]最初に形式文字列を実行する必要があります。WWDC 2012 セッション「Internationalization Tips & Tricks」には、これに関する有益な情報がたくさんありました。

于 2013-03-16T08:13:56.677 に答える