日時を出力する時にロケール指定で「日本(ja_JP)」を指定すると、「2010年5月7日金曜日」等と、一応日本語で出力されるようになりますが、これはあくまでも西暦での出力であり、日本独自の表記ではありません。
これを「平成xx年xx月xx日x曜日」等と日本独自の表記で出力するようにするには、カレンダークラスに日本のカレンダーを指定します。
// 現在日時(世界標準時)を取得
NSDate* dt = [NSDate date];
// 時刻書式指定子を設定
NSDateFormatter* form = [[NSDateFormatter alloc] init];
[form setDateStyle:NSDateFormatterFullStyle];
[form setTimeStyle:NSDateFormatterNoStyle];
// ロケールを設定
NSLocale* loc = [[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"];
[form setLocale:loc];
// カレンダーを指定
NSCalendar* cal = [[NSCalendar alloc] initWithCalendarIdentifier: NSJapaneseCalendar];
[form setCalendar: cal];
// 和暦を出力するように書式指定
[form setDateFormat:@"GGyy年MM月dd日EEEE"];
NSLog([form stringFromDate:dt]);
[form release];
[cal release];
0 件のコメント:
コメントを投稿