Проблема с NSDateFormatter - PullRequest
0 голосов
/ 27 июня 2011

Я не могу понять, почему это не работает.

   NSDateFormatter * dateFormat = [[NSDateFormatter alloc] init];
   [dateFormat setDateFormat:@"dd MMMM YYYY"];
   NSDate * complDate = [dateFormat dateFromString:@"27 June 2011"];

complDate возвращает 2010-12-25 21:00:00 +0000.

Ответы [ 2 ]

3 голосов
/ 27 июня 2011

Вам необходимо использовать строчную букву "y" для строки формата:

[dateFormat setDateFormat:@"dd MMMM yyyy"];

Заглавная буква "Y" обозначает "Неделя года".См. Руководство по форматированию данных ;он содержит ссылку на спецификаторы формата Unicode, которые NSDateFormatter использует.

0 голосов
/ 27 июня 2011

setDateFromat: функция, используемая для форматирования объекта sting для функции stringFromDate:. dateFromString: возвращает NSDate объект.

Пример из Документов:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"];

NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:162000];

NSString *formattedDateString = [dateFormatter stringFromDate:date];
NSLog(@"formattedDateString: %@", formattedDateString);
// For US English, the output may be:
// formattedDateString: 2001-01-02 at 13:00 
...