Как отформатировать дату из строки? - PullRequest
2 голосов
/ 17 мая 2010

У меня есть строка с этим значением:

2010-05-13 23:17:29

Я хочу отформатировать его и использую следующий код:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateStyle = NSDateFormatterMediumStyle;
NSDate *formattedDate = [formatter dateFromString:dateString];
[formatter release];

Когда отладчик достигает строки выпуска, formattedDate отображает «неверный CFStringRef» и

Cannot access memory at address 0x0

Есть идеи, что я делаю не так?

Ответы [ 2 ]

7 голосов
/ 17 мая 2010

dateFromString возвращает nil, поскольку не удалось проанализировать строку, содержащую дату и время. Это связано с тем, что NSDateFormatterMediumStyle указывает формат даты, например «16 мая 2010 г.» (на самом деле он зависит от локали и пользовательских настроек). Этот формат не соответствует вашей строке.

Для анализа вашей строки вы должны установить dateFormat вместо dateStyle, например:

formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
0 голосов
/ 17 мая 2010

Возможно, ваша строка уже освобождена.

Я также подозреваю, что ваша строка даты имеет неправильный формат для форматера, что даст вам нулевую дату.

...