В вашей строке формата есть ошибка, и вам также нужно сообщить форматировщику локаль, в которой представлена ваша строка даты.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
[dateFormatter setDateFormat:@"MMMM dd, yyyy HH:mm:ss a"];
NSDate *dateFromString = [dateFormatter dateFromString:dateString];
[dateFormatter release], dateFormatter = nil;
Настройка Local очень важна, так как у вас есть имя даты на вашем входе. Вам нужно будет указать NSDateFormatter
, на каком языке это имя будет. В приведенном примере это на английском языке. Если вы запускаете код без установки локального на устройстве, где язык не установлен на английский, он не сможет проанализировать дату.