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'
不確定爲什麼由stringFromDate:date返回的NSString是1個小時後,因爲兩個日期都使用UTC。
也許是因爲類'dateFromString:timeZone:'(或其反轉)編碼錯誤?或者因爲你在一種情況下使用了'&utcTimeZone',而在另一種情況下使用了'utcTimeZone'? –
或者可能設置dateFormat.defaultTimeZone? – lnafziger