日付から文字列を返すNSDateのカテゴリとしてメソッドを作成しました。形式は{4年の数字}{2か月の数字}{2日の数字}です。何らかの理由で、フォーマッタは日付の年を返すのではなく、現在の年を4年の数字として返します。これが私のコードです:
- (NSString *) YYYYMMDD{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeStyle:NSDateFormatterNoStyle];
[formatter setDateStyle:NSDateFormatterFullStyle];
[formatter setDateFormat:@"YYYYMMdd"]; // This line is doing something odd, not sure why yet.
NSString *dateAsString = [formatter stringFromDate:self];
NSLog(@"Date: %@ String: %@", [self description], dateAsString);
return dateAsString;
}
ログに記録された行を見ると、日付オブジェクトで表されるはずの年が現在の年でなくても、年は柔軟性がなく、現在の年に固執していることがわかります。
これがなぜなのか、何か考えはありますか?間違ったフォーマッターを使用していますか?