2012-04-03 50 views
0

我的代码,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; 
} 

以上工作正常,当我的日期是2012-06-06 12:00:00,我得到了适当的输出像12:00 AM。但是当我发送我的日期如2012-06-06 15:00:00它不会返回我适当的输出,而是,它返回我空输出。当我试图追踪此功能2012-06-06 15:00:00日期NSDate *date = [dateFormatter dateFromString:dateInString];此行未正确转换。为什么发生这种情况?我在哪里错了这个代码?

回答

3

尝试这样做:

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

hh的你有12小时的格式,HH使用24小时格式

+1

感谢它的工作.....并为我提供一些额外的知识给我.. – Tirth 2012-04-03 08:22:27

+0

欢迎您,如果它的工作,请标记为已解决 – 2012-04-03 08:27:29

+0

谢谢它的作品.....并提供给我一些额外的知识给我.. – Tirth 2012-04-03 08:31:24

1

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

+0

谢谢你帮助我。 – Tirth 2012-04-03 08:22:22