このドキュメントでは、発生している問題について説明します
つまり、日付をアメリカのロケールでフォーマットします。日付をユーザーに表示する場合は、日付を文字列に変換します。
例えば:
NSString *strDate = @"05/29/2012 6:15PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
[formatter setDateFormat:@"MM/dd/yyyy h:mma"];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
NSDate *_date = [formatter dateFromString:strDate];
ユーザーに日付を表示するには:
NSDateFormatter *formatter2 = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterShortStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
NSString *newDate = [formatter2 stringFromDate:_date];
アプリケーションに入力される日付文字列は通常、標準形式に変換する必要があります。ユーザーに日付を表示したい場合は、日付を文字列に戻す必要があります。これらは別の手順と考えてください。
- 文字列を適切な日付形式にする
- 目的のフォーマットでユーザー ロケールの日付を取得する