NSDateFormatter在iOS 5.1和iOS 6中的行为
其他人注意到iOS 5.1和iOS 6.0之间的一些区别? 在下面,datestring的格式在每个版本中都有不同的返回: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是“2012年10月1日16:44:09
任何想法,为什么这将是?
replace@"MM/dd/yyyy HH:mm:ss (vvvvv)";
用@"MM/dd/yyyy HH:mm:ss ('GMT'Z)";
Z
格式的string会输出你正在用vvvvv
进行的vvvvv
除了GMT
前缀以外,还没有冒号。
如果需要冒号,可以添加这一行来将其添加到string中:
sDate = [NSString stringWithFormat:@"%@:%@", [sDate substringToIndex:sDate.length-3], [sDate substringWithRange:NSMakeRange(sDate.length-3, 3)]];
我认为这解决了你的问题(只使用一个v):
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; dateFormatter.dateFormat = @"MM/dd/yyyy HH:mm:ss (V)"; NSDate *lDate = [[NSDate alloc]init]; NSString *sDate = [dateFormatter stringFromDate:lDate];
我有IST而不是GMT。 我使用V
在IOS 5中工作正常,但在IOS 6不工作。