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」と同じである必要があります
両方の日付がUTCを使用しているため、stringFromDate:dateによって返されるNSStringが1時間遅れている理由がわかりません。