日時を出力する時にロケール指定で「日本(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 件のコメント:
コメントを投稿