使用NSDateFormatter格式化月份和年份会返回无效日期

Nib*_*n V 9 nsdateformatter ios

我已经设置了区域设置和时区,但是当我格式化日期时,我总是得到无效的日期.月份总是十二月,一年比指定年份少一个月.在我的情况下,我不需要日组件.

我检查了其他类似的帖子,但它没有解决问题.

任何帮助表示赞赏.谢谢.

这是代码:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
dateFormatter.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]; 
dateFormatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; 
[dateFormatter setDateFormat:@"MMM YYYY"];
NSDate *formattedDate = [dateFormatter dateFromString:@"Sep 2013"];
NSLog(@"Date: %@", [dateFormatter stringFromDate:formattedDate]);
[dateFormatter release]; dateFormatter = nil;
Run Code Online (Sandbox Code Playgroud)

输出:日期:2012年12月

Vla*_*mir 16

"YYYY"格式用于基于"年度周"的日历.改为使用"yyyy"格式说明符:

[dateFormatter setDateFormat:@"MMM yyyy"];
Run Code Online (Sandbox Code Playgroud)