NSString* dateString = @"2012-04-01T15:37:53Z";
ISO8601DateFormatter *dateFormat = [[ISO8601DateFormatter alloc] init];
[dateFormat setIncludeTime:YES];
NSTimeZone *utcTimeZone = [NSTimeZone timeZoneWithName:@"UTC"];
NSDate* date = [dateFormat dateFromString:dateString timeZone:&utcTimeZone];
STAssertEqualObjects([dateFormat stringFromDate:date timeZone:utcTimeZone], dateString, nil, nil);
上述测试失败
'2012-04-01T16:37:53Z' 应该等于 '2012-04-01T15:37:53Z'
不知道为什么 stringFromDate:date 返回的 NSString 是 1 小时后,因为两个日期都使用 UTC。