在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'"];