【Objective-C】日付を24時間表示で取得する際の注意点

【Xcode5.1.1 + iOS 7.1 + MacOX10.9.4】

日付を24時間表示で取得するには、LocaleをUSに設定しないと端末設定で結果が変わるらしい。

で、こんな感じで関数を書いてみた。

//現在の年月日時分秒を取得
-(NSString *)getCurrentTime
{
    NSDate *nowdate = [NSDate date];
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyyMMddHHmmss"];
    
    //24時間表示にするためLocaleはUSにする
    [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"US"]];
    NSString *dateString = [formatter stringFromDate:nowdate];
    
    return dateString;
}

【参考】
NSDateで現在の日付を取得する | イリテク株式会社
NSDateFormatter – 文字列と日付の変換 – 強火で進め
日本語環境では、NSDateFormatterでフォーマットした日付がおかしい – 24/7 twenty-four seven