Как разобрать ISO 8601 с помощью NSDateFormatter с необязательной миллисекундной частью
я пытаюсь использовать NSDateFormatter для разбора дат в любом из этих форматов
@"2013-02-01T14:21:00"
или же
@"2013-02-01T14:21:56.345"
В настоящее время я использую метод ниже, чтобы разобрать строку и вернуть дату:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
NSDate *date = [dateFormatter dateFromString:dateToFormat];
Это отлично работает для первого стиля даты, но возвращает ноль для строки, включающей часть в миллисекундах.
Я полагаю, что мог бы проверить наличие миллисекунд и удалить их, но мне было интересно, могу ли я изменить формат даты, чтобы обработать .SSS как необязательный?
Спасибо за вашу помощь