在iOS文档中使用rfc3339dateFormatter作为示例之后,dateFromString返回nil

我想通过parsing以下方式从NSString获取NSDate:

NSDateFormatter *rfc3339DateFormatter = [[NSDateFormatter alloc] init]; NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; [rfc3339DateFormatter setLocale:enUSPOSIXLocale]; [rfc3339DateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"]; [rfc3339DateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; NSString *createdString = [NSString stringWithFormat:@"2014-08-27T17:10:36.000+05:30"]; NSDate *createdDate = [rfc3339DateFormatter dateFromString:createdString]; 

这里createdDate被返回为零。 我在这里错过了什么? 也请澄清我的timeZone和区域设置的正确使用。

您没有使用正确的date格式化程序

使用此行:

 [rfc3339DateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"]; 

在这个地方:

 [rfc3339DateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];