Ios6 dateFormatter将返回一月,即json数组中的数据为二月的月份

Ios6 dateFormatter将返回一月,即json数组中的数据为二月的月份,ios6,xcode4.5,nsdateformatter,Ios6,Xcode4.5,Nsdateformatter,我正在尝试将存储在json数组中的日期yyyy mm dd(即2013-02-14)转换为日、月、年(即2013年2月14日星期四),出于某种原因,它将月份转换为一月,有人能告诉我为什么吗?多谢各位 NSString *endDate = [info objectForKey:@"EndDate"]; [dateFormatter setDateFormat:@"yyyy-mm-dd"]; NSDate *edate = [dateFormatter dateFromString:endDate

我正在尝试将存储在json数组中的日期yyyy mm dd(即2013-02-14)转换为日、月、年(即2013年2月14日星期四),出于某种原因,它将月份转换为一月,有人能告诉我为什么吗?多谢各位

NSString *endDate = [info objectForKey:@"EndDate"];
[dateFormatter setDateFormat:@"yyyy-mm-dd"];
NSDate *edate = [dateFormatter dateFromString:endDate];
[dateFormatter setDateFormat:@"EEE d MMM yyyy"];
NSString *convertedEndDate = [dateFormatter stringFromDate:edate];

月份的格式为“MM”,而不是“MM”(表示分钟):

输出:


也许一月是0,二月是1,。。。(我不知道,因为我不是为iOS开发的。)嗨,Johannes,我不确定这是不是答案,我应该说的是,如果我使用dd/mm/yyyy作为我的第二个日期格式化程序,它会工作,所以我想知道是不是EEE把它扔掉了?@JohannesMittendorfer不,1月是1日,2月是2日,等等。尽管这与问题无关。使用
mm
而不是
mm
是问题所在。
NSString *endDate = @"2013-02-14";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *edate = [dateFormatter dateFromString:endDate];
[dateFormatter setDateFormat:@"EEE d MMM yyyy"];
NSString *convertedEndDate = [dateFormatter stringFromDate:edate];
NSLog(@"%@", convertedEndDate);
Thu 14 Feb 2013