2011-05-26 45 views
0

我嘗試使用NSDateFormatter獲取和管理日期,但如何使其工作。 我認爲這是我的第一個「dateFormatter」的問題,它沒有正確的格式,因爲當我使用函數「stringFromDate」和參數「[NSDate date]」的第二個格式化程序時,它運行良好,但不是當我使用我的NSDate 「dateFromString」。使用NSDateFormatter管理日期

//"dateString" have this format: "2011-05-26T16:18:26Z" 
NSString *dateString = [[tracks objectAtIndex:0] objectForKey:@"to-date"]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEE, MMM d, yyyy"]; 
NSDate *dateFromString = [[NSDate alloc] init]; 
dateFromString = [dateFormatter dateFromString:dateString]; 
[dateFormatter release]; 

dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEE, MMM d, yyyy"]; 

//NSString *toDate = [dateFormatter stringFromDate:dateFromString]; 
NSString *toDate = [dateFormatter stringFromDate:[NSDate date]]; 

謝謝您的幫助:)

+0

很抱歉的顯示,我犯了一個錯誤。 – Guillaume 2011-05-26 16:41:13

+0

將'dateString'發送到dateFormatter之前是什麼? – Joe 2011-05-26 17:15:18

回答

1

當然,DateFormat與您從服務器接收到的不一樣。

試試這個:

dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss Z"]; 
NSDate *date = [dateFormatter dateFromString:[dateString stringByReplacingOccurrencesOfString:@"Z" withString:@" +0000"]]; 
+0

它工作得很好,非常感謝。 :) – Guillaume 2011-05-27 00:14:17

0

假設to-date是一個字符串,沒有一個NSDate嘗試這個:如果你想顯示的日期爲用戶

//"dateString" have this format: "2011-05-26T16:18:26Z" 
NSString *dateString = [[tracks objectAtIndex:0] objectForKey:@"to-date"]; 
NSDate *dateFromString = [[NSDate dateFromString:dateString]; 

格式化爲特定格式,然後可以使用設置NSDateFormatter並使用stringFromDate:來獲取顯示用戶的字符串。如果它仍然沒有正確顯示設置日曆(我忘記,如果你總是不得不設置它,或者如果有默認)。