将日期(字符串)转换为另一种日期格式(字符串)

时间:2009-10-18 23:11:57

标签: iphone objective-c nsdate nsdateformatter

我有一个新手问题,如果有任何人可以帮助我,我会很高兴。

我有一个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

我正在使用以下函数(来自XML数据源)创建此NSMutableArray:

-(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。我怎么能这样做?

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

您需要使用NSDateFormatter来执行此操作。您可以使用它来创建NSDate,然后再次使用它来创建要使用的格式不同的字符串。