2009-10-18 135 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

傑夫,謝謝。是的,我試過但沒有工作。使用NSDateFormatter,我設置日期格式(例如:yyyy-MM-dd),但我在NSDate上遇到問題。我無法用字符串創建一個NSDate對象。比方說,我有一個NSString,值是「2009-09-24 01:00:00」。 如何根據此值創建NSDate對象?很抱歉,如果這是一個愚蠢的問題,新手在這裏:) – TamTam 2009-10-19 09:33:57

+0

你需要遵循四個步驟: 1)你的'NSDateFormatter'的'dateFormat'屬性設置爲你目前在字符串形式。 2)使用'-dateFromString:'方法你'NSDateFormatter'創造從字符串的'NSDate'對象。 3.)設置你的'NSDateFormatter'的'dateFormat'屬性,以匹配你希望你的字符串看起來像最後。 4)使用'-stringFromDate:'方法你'NSDateFormatter'的從你的'NSDate'創建的字符串。 – 2009-10-19 13:33:30