2

デバイスからユーザーの currentLocale を使用して、NSDateFormatterFullStyle から年を引いたものとまったく同じ日付形式が必要です。

[dateFormatter setDateStyle:NSDateFormatterFullStyle];
[dateFormatter setLocale:[NSLocale currentLocale]];

2012 年 9 月 21 日金曜日

(2012年)9月21日金曜日

括弧内の領域は、削除する必要がありますが、印刷されます。

iPhone アプリに気付きました。Living Earth はこれを行い、すべてのロケールで機能します。iPhone のロック画面も同様です。などのカスタム フォーマッタは[dateFormatter setDateFormat:@"EEEE, MMMM"];、ローカリゼーションによって変更されません。

これを達成する方法について誰かが光を当てることができますか? 日付スタイルのオプションはどれもこれを行うようには見えません。

ありがとう

4

1 に答える 1

-3

日付フォーマッタは、電話の言語設定によっては変わりませんが、電話のロケール設定によって変わります。アプリ内で変更する場合は、日付フォーマッタのロケールを設定します。[dateFromatter setLocale:theLocaleYouWant]

ロケールを設定するための編集
コード

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"fr"]];
[formatter setDateFormat:@"EEEE, dd MMMM"];

NSLog(@"Current date : %@",[formatter stringFromDate:[NSDate date]]);
// Output vendredi, 21 septembre which is good !
于 2012-09-21T15:36:39.767 に答える