2009-11-19 85 views
0

我正在從RSS源中提取數據。 Feed中的一個鍵是表示項目創建日期和時間的字符串。格式化NSDate

我想將此字符串值轉換爲NSDate。字符串值從RSS饋送返回:2009-11-18T22:08:00 + 00:00

我嘗試以下代碼無濟於事:

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"yyyyMMdd HH:mm"]; 
NSDate *myDate = [df dateFromString: [[storedDates objectAtIndex:indexPath.row] objectForKey: @"UsersDate"]]; 

理想;除了將該值轉換爲NSDate值之外,我還想使用手機上的本地化日期格式對其進行格式化。

任何指針將是一個很大的幫助。

親切的問候

+0

消息就是T應該在2009-11-18T22:08:00 + 00:00?或者是一個錯字? – nduplessis 2009-11-19 12:41:57

回答

6

要檢索的日期格式:

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; 
NSDate *myDate = [df dateFromString: [[storedDates objectAtIndex:indexPath.row] objectForKey: @"UsersDate"]]; 

您可以使用預定義的格式,如果你想根據用戶的語言環境格式化時間和日期:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateStyle:NSDateFormatterShortStyle]; 
[dateFormatter setTimeStyle:NSDateFormatterLongStyle]; 
NSLog(@"%@",[dateFormatter stringFromDate:someDate]); 
[dateFormatter release]; // don't forget to release the dateformatter  

查看文檔以查看哪種格式化器最適合您。在RSS提要

+0

對不起忘了回答關於解析字符串日期的問題。看到我更新的回覆 – FelixLam 2009-11-19 12:50:56

+0

非常感謝Felix。 – 2009-11-19 13:20:24

0

其實日期格式可能不同,所以最好的方法來分析它是繼

[NSDate dateFromInternetDateTimeString:processedText formatHint:DateFormatHintRFC822]; 

這不是一個標準功能,圖書館因爲它可以在這裏找到https://gist.github.com/953664