Как разобрать 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 как необязательный?

Спасибо за вашу помощь