2010-05-16 35 views
2

我有這個值的字符串:如何從字符串格式化日期?

2010-05-13 23:17:29 

我想格式化和我用下面的代碼:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
formatter.dateStyle = NSDateFormatterMediumStyle; 
NSDate *formattedDate = [formatter dateFromString:dateString]; 
[formatter release]; 

當調試器到達釋放線,formattedDate顯示「無效CFStringRef「和

Cannot access memory at address 0x0 

任何想法我做錯了什麼?

+0

'dateString'是否已正確初始化? – shosti 2010-05-16 22:04:58

+0

dateString被釋放?保留數是多少?它是一個自動釋放的對象嗎?如果是這樣,你需要保留它。 – falconcreek 2010-05-16 22:09:55

回答

7

dateFromString正在返回nil,因爲它無法解析包含日期和時間的字符串。這是因爲NSDateFormatterMediumStyle指定的日期格式類似於「2010年5月16日」(它實際上取決於區域設置和用戶設置)。此格式與您的字符串不匹配。

要分析你的字符串,你應該設定一個dateFormat代替dateStyle,例如:

formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; 
+0

工作。在上述格式中,我如何顯示上午/下午和時區? – 4thSpace 2010-05-16 22:39:06

0

也許你的字符串已經釋放。

我也懷疑你的日期字符串格式化程序的格式不正確,它會給你一個空的日期。