このコードはiOS5で機能しましたが、iOS6では間違った年を返します。
NSCalendar *gregorian=[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSLocale *locale=[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setCalendar: gregorian];
[dateFormatter setLocale: locale];
[dateFormatter setDateFormat:@"yyyy"];
NSDate* date=[dateFormatter dateFromString:[NSString stringWithFormat:@"9000"]];
NSLog(@"Date: %@", [dateFormatter stringFromDate:date]);
[gregorian release];
[locale release];
[dateFormatter release];
上記は、iOS 5では日付9000、iOS6では日付2000を生成します。
ありがとう。