3
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時間遅れている理由がわかりません。

4

1 に答える 1

1

フォークで解決された#stringFromDateにバグがあるようです。

于 2012-11-06T11:54:34.570 に答える