2010-08-16 3 views
1

Я извлекаю строки из текста, представляющего даты. Они выглядят так:NSDateFormatter не обрабатывается дата

Monday August 16, 2010 05:28 AM EST

Я пытаюсь разобрать их с NSDateFormatter. Я настроил свой формат:

[dateFormatter setDateFormat:@"EEEE MMMM d, YYYY h:mm a z"];

Однако, это не работает. Для примера я дал выше, если преобразовать строку в дату, а затем, что даты в строку, дата Formatter возвращает это:

Monday December 28, 2009 5:28 AM EST

Что я делаю неправильно?

EDIT: Кажется, что это работает при использовании формата [dateFormatter setDateFormat:@"EEEE MMMM d, y h:mm a z"];. Странно ...

ответ

2

Will,

NSDateFormatter использует стандарт Unicode для форматирования даты. Как вы нашли, «y» работает, но «ГГГГ» этого не делает. Если вы видите спецификацию (в нескольких документах, описанных в документации Apple, так что нелегко найти), вы увидите, что «Y» имеет это примечание: «Год (« Неделя года »), используемый в ISO год-неделя календарь Может отличаться от календарного года. "

Here is the link to the specification.

Я знаю, что вы исправили это самостоятельно, но это может помочь объяснить, почему «Y» не работает для вас.