Is there a simple way of converting an ISO8601 timestamp to a formatted NSDate?
Solution 1:
I have a similiar but slightly more complex problem, and I've found a very simple solution!
The problem:
My incoming ISO8601 dates look like this: 2006-06-14T11:06:00+02:00
They have a timezone offset at the end.
The solution: Use Peter Hosey's ISO8601DateFormatter which you can download from here.
ISO8601DateFormatter *formatter = [[ISO8601DateFormatter alloc] init];
NSDate *theDate = [formatter dateFromString:dateString];
[formatter release], formatter = nil;
and
ISO8601DateFormatter *formatter = [[ISO8601DateFormatter alloc] init];
NSString *dateString = [formatter stringFromDate:[twitch dateTwitched]];
[formatter release], formatter = nil;
Solution 2:
You need another formatter to handle the output. Put this after your code:
NSDateFormatter *anotherDateFormatter = [[NSDateFormatter alloc] init];
[anotherDateFormatter setDateStyle:NSDateFormatterLongStyle];
[anotherDateFormatter setTimeStyle:NSDateFormatterShortStyle];
NSLog(@"%@", [anotherDateFormatter stringFromDate:myDate]);
Solution 3:
Here is sample code from apple
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];
NSDate *date = [formatter dateFromString:dateString];
link:https://developer.apple.com/library/ios/#qa/qa1480/_index.html