2009-10-18 15 views
1

У меня есть вопрос новичков, будет рад, если кто-нибудь там может мне помочь.Преобразование даты (строки) в другой формат даты (строка)

У меня есть NSMutableArray, например:

{ 
JobID = 109302930; 
Subject = "Test Subject"; 
SubmitDate = "2009-09-15 17:27:34"; 
} 

Я сейчас пытаюсь создать разделы в моем представлении таблицы и хотите сгруппировать мои записи на основе «отформатированных» SubmitDate. Например;

16th May'09 
=========== 
Item A 
Item B 

18th May'09 
=========== 
Item C 
Item G 

20th May'09 
=========== 
Item Z 
Item K 

Я создаю эту NSMutableArray с помощью следующей функции (из источника данных XML):

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { 
    currentElement = [[NSString alloc] init]; 

    if ([elementName isEqualToString:@"subject"]) { 
     [item setObject:currentSubject forKey:@"Subject"]; 
    } else if ([elementName isEqualToString:@"job_id"]) { 
     [item setObject:currentJobID forKey:@"JobID"]; 
    } else if ([elementName isEqualToString:@"submit_date"]) { 
     // I want to insert the date value in a formatted way instead of the standard MySQL date format (YYYY-MM-HH). 
     [item setObject:currentJobSubmitDate forKey:@"SubmitDate"]; 
     [previewData addObject:item]; 
    } 
} 

Как я заметил, в приведенном выше коде, вместо YYYY-MM-DD HH: II: SS, я хочу добавить дату как форматированную строку даты. Как я могу это сделать?

Благодарим за помощь.

ответ

4

Чтобы сделать это, вы должны использовать NSDateFormatter. Вы можете использовать его для создания NSDate, а затем использовать его снова для создания строки в другом формате.

+0

Jeff, спасибо. Да, я пробовал это, но не работал. Используя NSDateFormatter, я устанавливаю формат даты (Ex: yyyy-MM-dd), но у меня проблема с NSDate. Я не могу создать объект NSDate со строкой. Допустим, у меня есть NSString, а значение - «2009-09-24 01:00:00». Как я могу создать объект NSDate на основе этого значения? Извините, если это глупый вопрос, новичок здесь :) – TamTam

+0

Вам нужно будет выполнить четыре шага: 1.) Установите свойство 'DateFormat'' NSDateFormatter' для того, что у вас есть в строковой форме. 2.) Используйте метод '-dateFromString:' вашего 'NSDateFormatter' для создания объекта NSDate из строки. 3.) Установите свойство 'DateFormat'' NSDateFormatter', чтобы оно соответствовало тому, что вы хотите, чтобы ваша строка выглядела в конце. 4.) Используйте метод '-stringFromDate:' вашего 'NSDateFormatter' для создания вашей строки из' NSDate'. –