LoginSignup
16
16

More than 5 years have passed since last update.

NSDateFormatter ローカライズされた各種日付情報の取得

Posted at

NSDateFormatterを使用すると各ロケールに対応するローカライズされた各種日付情報が取得出来ます。
曜日に関するメソッドを例に上げると

– weekdaySymbols
– shortWeekdaySymbols
– veryShortWeekdaySymbols
– standaloneWeekdaySymbols
– shortStandaloneWeekdaySymbols
– veryShortStandaloneWeekdaySymbols   

のように様々なパターンが用意されています。

日本語(ja)と英語(en)はこんな感じです。

– weekdaySymbols
    日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日 
    Sunday Monday Tuesday Wednesday Thursday Friday Saturday

– shortWeekdaySymbols
    日 月 火 水 木 金 土
    Sun Mon Tue Wed Thu Fri Sat 

– veryShortWeekdaySymbols
    日 月 火 水 木 金 土 
    S M T W T F S 

すべてのISO言語コード(Wiki)に対応するローカライズされた曜日を表示するサンプルです。

Sample.m
- (void)log
{
    for (NSString *lang in [NSLocale ISOLanguageCodes]) {
        NSDateFormatter *df = [[NSDateFormatter alloc] init];
        df.locale = [[NSLocale alloc] initWithLocaleIdentifier:lang];
        NSMutableString *allWeekday = [NSMutableString string];
        for (NSString *weekday in df.weekdaySymbols) {
            [allWeekday appendFormat:@"%@ ", weekday];
        }
        NSLog(@"%@ -> %@", lang, allWeekday);
        // ログ抜粋
        // ja -> 日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
        // en -> Sunday Monday Tuesday Wednesday Thursday Friday Saturday
    }
}
16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16