1

还有其他人注意到 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 ()”

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

4

3 回答 3

2

替换@"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)]];
于 2012-10-01T22:29:54.513 回答
1

我认为这可以解决您的问题(仅使用一个 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];
于 2012-10-01T22:09:49.370 回答
1

我有 IST 而不是 GMT。我V在 IOS 5 中使用它可以正常工作,但在 IOS 6 中无法正常工作。

于 2012-11-08T07:14:25.833 回答