Я установил локаль и часовой пояс, но когда я форматирую дату, я всегда получаю недопустимую дату. Месяц всегда декабрь, а год меньше, чем в указанный год. В моем случае мне не нужен компонент дня.Форматирование месяца и года с использованием NSDateFormatter возвращает недопустимую дату
Я проверил другое подобное сообщение, но это не решило проблему.
Любая помощь приветствуется. Спасибо.
Вот код:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease];
dateFormatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setDateFormat:@"MMM YYYY"];
NSDate *formattedDate = [dateFormatter dateFromString:@"Sep 2013"];
NSLog(@"Date: %@", [dateFormatter stringFromDate:formattedDate]);
[dateFormatter release]; dateFormatter = nil;
ВЫВОД: Дата: декабрь 2012 Формат
Это сообщение объясняет more.http : //stackoverflow.com/a/8187078/641062 – Vignesh
@ Vignesh, спасибо за ссылку. Вероятно, некоторые спецификаторы формата не имеют смысла для календаря «Неделя года», что приводит к разным результатам. – Vladimir
Спасибо за информацию. :) – Vignesh