我正在尝试使用以下代码转换时间字符串
NSString *origDate = @"2012-12-06T09:27:18+08:00";
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setFormatterBehavior:NSDateFormatterBehavior10_4];
[df setDateFormat:@"yyyy-mm-dd HH:mm:ss VVVV"];
NSDate *convertedDate = [df dateFromString:origDate];
但是,当我打印 convertDate 时,它返回 null。我的猜测是你使用的日期格式不匹配。如何修改代码以使其正常工作?我可以使用什么格式来匹配我的字符串?
编辑(参考苹果的文档后)
我检查了苹果页面上的日期格式文档,发现了以下代码
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]];
// Convert the RFC 3339 date time string to an NSDate.
NSDate *date = [rfc3339DateFormatter dateFromString:rfc3339DateTimeString];
上面的格式似乎与我在原始日期字符串“2012-12-06T09:27:18+08:00”中的格式相匹配。但是我仍然得到一个空值。我越来越近了吗?我还能如何更新这个?