2014-02-28 141 views
0

我有一個包含一些日期字符串的數組。我使用的是NSDateFormatter,但問題是它識別了一些日期,並且不識別其他日期,而所有這些日期都具有相同的格式!NSDateFormatter無法識別日期

例如,它的格式:週六,2014年2月1日八時44分00秒0430

但對於返回null:星期三,2014年1月29日17:40:00 0430

這是我使用的代碼:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"EEE, dd MMM yyyy hh:mm:ss xx"]; 
NSDate *date = [dateFormat dateFromString:dateInput]; 
+3

您使用的小時格式爲0-12格式,而不是0-24格式。 – Larme

回答

2

使用此日期格式[dateFormat setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss xx"];

+0

該死!我怎麼會想念那個!謝了哥們。 – devdev101

1
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss xx"]; 
NSDate *date = [dateFormat dateFromString:dateInput]; 

注:

HH有24小時的格式表示

hh是由12個小時的格式表示

+0

請仔細閱讀您的筆記要點。你有相反的解釋。 – Mani

0

嘗試此

[dateFormat setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss xx"]; 

因爲,HH是24小時格式的語法這是適合你的標準。