NSDateFormatter工作不正常?

我的代码,

-(NSString *)trimDateStringInRequiredFormat:(NSString *)dateInString{ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; NSDate *date = [dateFormatter dateFromString:dateInString]; [dateFormatter setDateFormat:@"hh:mm aaa"]; NSString *dateDisplay = [dateFormatter stringFromDate:date]; return dateDisplay; } 

以上工作正常时,我的date是2012年6月6日12:00:00,我有适当的输出,如上午12:00。 但是当我发送我的date如2012-06-06 15:00:00它不返回我适当的输出,而是,它返回我空输出。 当我试图跟踪这个函数2012-06-06 NSDate *date = [dateFormatter dateFromString:dateInString];dateNSDate *date = [dateFormatter dateFromString:dateInString]; 这一行没有正确转换。 为什么会发生? 我在哪里错了这个代码?

尝试做:

 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 

用hh你有12h格式,你用24h格式

这是因为对于24小时格式,你需要使用HH而不是hh