为什么以下 iOS 4.2 代码会返回两次不同的时间?
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:gmt];
NSString* dateString = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"Date/Time is %@", dateString);
NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease];
[inputFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate* date = [inputFormatter dateFromString:dateString];
NSLog(@"Date/Time is %@", date);
返回:
2011-01-04 16:15:12.966 WA[687:207] Date/Time is 2011-01-04 21:15:12
2011-01-04 16:15:12.967 WA[687:207] Date/Time is 2011-01-05 02:15:12 +0000
第一个值是预期的,但我希望第二个值相同。
布鲁斯
最佳答案
您的日期格式似乎都不包含时区,因此您可能会发现您所在的位置和格林威治标准时间之间存在差异。
关于iphone - NSDateFormatter 返回意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4598574/