0

根据我的服务器日志,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 中的已知错误还是我的格式化程序错误?有可能是线程问题吗?

4

0 回答 0