Я пробовал несколько вариантов форматов даты, предложенных в других темах, но я не могу получить строку даты «2011-11-25T21: 17: 49-05: 00» для правильного преобразования, я всегда заканчиваюс нулевым NSDate:
stringDate = @"2011-11-25T21:17:49-05:00";
NSLog(@"The String: %@", stringDate);
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSDate *theDate = [formatter dateFromString:stringDate];
NSLog(@"The Date: %@", theDate);
Создает следующий вывод:
2011-11-26 00:01:35.592 Octain3[21779:11603] The String: 2011-11-25T21:17:49-05:00
2011-11-26 00:01:43.298 Octain3[21779:11603] The Date: (null)
Я могу получить его, чтобы дать мне NSDate, если я потеряю «-05: 00», но дажетогда я, кажется, получаю неправильный часовой пояс:
stringDate = @"2011-11-25T21:17:49";
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
theDate = [formatter dateFromString:stringDate];
NSLog(@"The Date: %@", theDate);
Вывод:
2011-11-26 00:01:50.554 Octain3[21779:11603] The Date: 2011-11-26 02:17:49 +0000