2012-04-16 121 views
1

我試圖日期從字符串轉換,奇怪的日期格式問題

下面是我的代碼,

str_date = @"04/16/2011 00:00:00 AM"; 

NSDateFormatter *dtF = [[NSDateFormatter alloc] init]; 
[dtF setDateFormat:@"MM/dd/yyyy HH:mm:ss a"]; 

NSDate *d = [dtF dateFromString:str_date]; 


NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"yyyy-MM-dd"]; 
NSString *dateString = [dateFormat stringFromDate:d]; 
[dateFormat release]; 

return dateString; 

這裏的問題是,在模擬器它工作正常,並轉換串日期和日期字符串,但與設備,它不能夠轉換字符串到日期

在iPod的視網膜它沒有顯示日期,但與iPhone 3GS它顯示的日期

請幫我解釋我做了什麼?

+0

您可能會運行到[這個問題](HTTP:/ /stackoverflow.com/questions/6613110/what-is-the-best-way-to-deal-with-the-nsdateformater-locale-feature) - 手機的行爲奇怪,如果設置中的12/24小時設置是在與您的區域設置衝突。 – 2012-04-16 15:29:24

+0

我已經解決了問題,我只是從字符串中刪除了時間,然後刪除了HH:mm:ss a,它正在工作,我遇到了一些類似於Hot Licks通知的問題。 – 2012-04-17 05:43:40

回答

1

只需更換這行像這樣

NSDateFormatter *dtF = [[NSDateFormatter alloc] init]; [dtF setDateFormat:@"MM/dd/yyyy hh:mm:ss a"]; 

由於HH使用24小時格式和hh使用12小時格式...