Похоже, вы хотите преобразовать дату из одного строкового формата в другой.Чтобы сделать это, вам нужно сделать это в два этапа - отформатировать строку FROM в NSSDate, затем от этой даты до NSString.
NSDateFormatter *dateWriter = [[NSDateFormatter alloc] init];
NSDateFormatter *dateReader = [[NSDateFormatter alloc] init];
[dateWriter setDateFormat:@"yyyy-MM-dd"];
[dateReader setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate *dateTmp = [dateReader dateFromString:@"2008-12-31T12:00:00"];
NSString *str = [dateWriter stringFromDate:dateTmp]
//str now contains "2008-12-31".
//and don't forget!!!
[dateReader release];
[dateWriter release];
Вы можете достичь того же результата с одним форматером даты, прочитав, сбросив формат даты и затем записав, если хотите.Я просто изложил это так, чтобы было легко увидеть процесс.
Примечание: я всегда забываю выпускать NSDateFormatters.Clang и Instruments всегда ловят меня, пропуская их.Я думаю, что я использую их, и кажется, что они сделали.Они не, тем не менее!Так что будьте умнее меня и не забывайте NARC в вашем управлении памятью!
Примечание 2 - Не игнорируйте предупреждения компилятора.Ваш компилятор предупреждает вас о неверном назначении, которое вы делаете, и вы игнорируете это.