Существует проблема с установленным форматом даты. По яблоку
В строке формата используются шаблоны формата из Unicode Technical
Стандарт № 35
В вашем случае вам нужно использовать автономную версию месяца, которая LLLL
не MMMM
.
Если вы измените эту строку, ваш код будет работать нормально
[firstDateFormatter setDateFormat:@"LLLL dd hh:mm a"];
Стандарт поясняет автономную версию следующим образом:
Самое важное различие между форматом и автономным
формы - это грамматическое различие для языков, которые в этом нуждаются. За
Например, многие языки требуют, чтобы название месяца без
номер соответствующего дня указывается в основной номинативной форме, а месяц
имя с соответствующим номером дня должно быть в другом
грамматическая форма: родительный, разделительный и т. д. Еще один распространенный тип
различие между форматом и автономностью предполагает использование заглавных букв;
тем не менее, это может контролироваться отдельно и более точно с помощью
элемент, как описано в разделе 5.19
Элементы ContextTransform.
Btw. Прочитайте это , оно содержит много информации и лучшие способы инициализации dateformatter.