2015-10-14 76 views
-1

我有這個字符串日期:(目標C)的NSDate是零的日期轉換在字符串

星期三,2015年10月14日上午09時58 CDT

而且我試着轉換這個字符串的NSData與此代碼

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"EE, d LLL YYYY HH:mm a Z"]; 
NSDate *date = [dateFormat dateFromString:@"Wed, 14 Oct 2015 9:58 am CDT"]; 

但迄今爲止,這是一個NSDate變量始終是nil。我試圖用不同的語法來更改我的DateFormat,但我得到的結果相同。

回答

4

問題是您正在使用capital Z instead of lowercase z作爲時區縮寫。我還建議將EEE降至一個E,將LLL更改爲MMM,使用yyyy年和h而不是HH小時。

"E, d MMM yyyy h:mm a z" 

作爲日期格式化問題的快速提示,請嘗試先將日期轉換爲字符串並比較輸出。

+1

另外'hh'而不是'HH',我認爲他還必須考慮他的日期格式設置區域設置包含英文模式。 – Sulthan

+2

你答案的最後一句應該是任何'NSDateFormatter'問題的規範答案。 –

+1

根據你的最後一句話,格式應該是「EEE,MMM yyyy h:mm a z」,儘管'E'除了'EEE'外還可以工作。注意使用'h'而不是'hh',因爲這個例子中的小時不是'09'。 – rmaddy