2011-05-26 81 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:来获取显示用户的字符串。如果它仍然没有正确显示设置日历(我忘记,如果你总是不得不设置它,或者如果有默认)。