2013-01-09 78 views
0

我有一個代碼:使用NSDateFormatter dateFromString

NSString *dateStr = [currentElementValue stringByRemovingNewLinesAndWhitespace]; 

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"EE, dd MMM yyyy hh:mm:ss ZZ"]; 

,我從服務器接收日期,像字符串:

Tue, 08 Jan 2013 13:21:54 +0000 

但這裏是我的問題,當我使用:[dateFormat dateFromString:dateStr]

Mon, 07 Jan 2013 10:31:30 +0000 converted to 07-01-2013 

Wed, 02 Jan 2013 15:12:57 +0000 無法轉換。

任何人都有任何線索爲什麼會發生這種情況?

任何幫助,將不勝感激。 :)

+0

查看日期格式字符串的描述(可從NSDateFormater描述中使用鏈接鏈訪問)。當你使用「HH」時你使用了「hh」。 –

+0

omg!它真的解決了我的問題,只是改變了HH,並且它被解決了。 – iremk

+0

@HotLicks哦,你快點! (直到發佈我的答案纔看到評論。)讓它成爲你的答案。 – 2013-01-09 20:37:37

回答

2

This answer詳細描述所有格式說明符。 hh代表「小時(1-12,零填充)」 - 所以你不能在這裏寫15h。如果您希望使用24小時時間格式,請改爲使用HH

[dateFormat setDateFormat:@"EE, dd MMM yyyy HH:mm:ss ZZ"]; 
+0

另一個問題在這裏(我正在處理一些rss提要):任何人都可以找出這個字符串的格式:'2013-01- 07T08:23:00.001 + 02:00'? – iremk

+0

@iremk - 取決於您的iOS版本。對於舊版本,在解析之前必須從字符串中刪除最後的「:」。使用[iOS 6](http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns),您可以使用「ZZZZZ」。 –

相關問題