我的代码,
-(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日期未正确转换。为什么会这样?我在这个代码中哪里错了???
答案 0 :(得分:3)
尝试做:
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
用hh你有12h格式,HH你用24h格式
答案 1 :(得分:1)
这是因为对于24小时格式,您需要使用HH而不是hh