NSDateFormatter无法正常工作?

时间:2012-04-03 08:13:54

标签: iphone objective-c ios nsdate 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它不会返回我适当的输出,相反,它返回我null输出。当我试图跟踪此功能时,NSDate *date = [dateFormatter dateFromString:dateInString];上的这一行的2012-06-06 15:00:00日期未正确转换。为什么会这样?我在这个代码中哪里错了???

2 个答案:

答案 0 :(得分:3)

尝试做:

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

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

答案 1 :(得分:1)

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