根据我的服务器日志,iOS 偶尔会发送一个奇怪的日期,如下所示:
2013-08-029T05:15:11.578-0500
(029为天)
2013-09-05T06:43:030.479-0400
(030 为秒)
这是我的格式化程序:
if (sISO8601Formatter == nil)
{
// See https://developer.apple.com/library/ios/#qa/qa1480/_index.html
sISO8601Formatter = [[NSDateFormatter alloc] init];
NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
if (enUSPOSIXLocale)
[sISO8601Formatter setLocale:enUSPOSIXLocale];
sISO8601Formatter.dateFormat = @"yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSSZZZ";
}
我像这样格式化日期:
+ (NSString *)formatDateWithISO8601:(NSDate *)date forTimeZone:(NSTimeZone *)timeZone
{
[sISO8601Formatter setTimeZone:timeZone];
return [sISO8601Formatter stringFromDate:date];
}
这是 iOS 中的已知错误还是我的格式化程序错误?有可能是线程问题吗?