还有其他人注意到iOS 5.1和iOS 6.0之间的一些区别吗?下面,日期字符串的格式在每个版本中的返回方式都不同:NSDateFormatter

*dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
dateFormatter.dateFormat = @"MM/dd/yyyy HH:mm:ss (vvvvv)";
NSDate   *lDate   = [[NSDate alloc]init];
NSString *sDate   = [dateFormatter stringFromDate:lDate];

在iOS 5.1中,sDate为“10/01/2012 16:43:09(GMT-05:00)”
但在iOS 6.0中,sDate为“10/01/2012 16:44:09()”

关于为什么会这样的任何想法?

最佳答案

@"MM/dd/yyyy HH:mm:ss (vvvvv)";替换@"MM/dd/yyyy HH:mm:ss ('GMT'Z)";Z格式的字符串将输出您对vvvvv所做的操作,但GMT前缀除外,也没有冒号。

如果需要冒号,则可以添加以下行以将其添加到字符串中:

sDate = [NSString stringWithFormat:@"%@:%@", [sDate substringToIndex:sDate.length-3], [sDate substringWithRange:NSMakeRange(sDate.length-3, 3)]];

10-08 05:33