可能重复:
Is there a simple way of converting an ISO8601 timestamp to a formatted NSDate?
Converting an ISO 8601 timestamp into an NSDate: How does one deal with the UTC time offset?
我正在尝试转换当地时间为iso 8601格式的日期时间。 转换这个:
2012-10-15T09:46:16+02:00
到此:
2012-10-15 11:46:16
我尝试以下代码但返回null
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSDate *dt = [dateFormatter dateFromString:@"2012-10-15T09:46:16+02:00"];
NSString *dateTime= [NSDateFormatter localizedStringFromDate:dt dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterShortStyle];
NSLog(@"DATE FORMAT:%@", dateTime);
知道我做错了什么?
答案 0 :(得分:2)
您需要使用ISO8601DateFormatter。这是专门为此设计的课程。您使用的日期格式不仅限于NSDateFormatter日期格式的一种格式。只要ISO8601DateFormatter是ISO8601,它就已经识别并解析了日期格式。 http://boredzo.org/iso8601unparser/