为什么我的NSDateFormatter返回null? 这是我的代码:
NSString *dateString = @"21-12-2012 11:05:15";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy hh:mm:ss"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];
[dateFormatter setDateFormat:@"dd/MM/yyyy"];
NSString *strDate = [dateFormatter stringFromDate:dateFromString];
我的strDate
返回
21/12/2012
但是:
NSString *dateString = @"13-12-2012 13:17:58";
我的strDate
返回null
这很奇怪,有人经历过同样的事情吗?
答案 0 :(得分:6)
使用HH代替hh。
hh通常是12小时,而HH通常是24小时。[dateFormatter setDateFormat:@"dd-MM-yyyy HH:mm:ss"];
一个很好的官方参考资料as linked by Apple themselves是here。另一个好桌子是here,如Zaph所述。
答案 1 :(得分:2)
你应该使用
[dateFormatter setDateFormat:@"dd-MM-yyyy HH:mm:ss"];