Why NSDateFormatter can not parse date from ISO 8601 format [duplicate]

有些话、适合烂在心里 提交于 2019-11-27 07:40:09

The problem is with the timezone on the end.

You need to either have it as: GMT-0X:00 or as -0X00 with no separate between hours and minutes.

The following two combinations work:

Combo 1 - use GMT format (GMT-0X:00) and ZZZZ

NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZ"];
NSLog(@"DATE FORMAT:%@", [dateFormatter dateFromString:@"2008-12-29T00:27:42GMT-08:00"]);

Combo 2 - use RFC 822 format (-0X00) and ZZZ

dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSLog(@"DATE FORMAT:%@", [dateFormatter dateFromString:@"2008-12-29T00:27:42-0800"]);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!