2011-05-20 78 views
4

在我为Facebook图形API ..iphone的NSDate转换问题

我得到这个数据..从Json的 ..
"updated_time" = "2011-05-17T14:52:16+0000";

,我用这个代码把它转换成有效日期格式

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease]; 
//2010-12-01T21:35:43+0000 
[df setDateFormat:@"yyyy-mm-ddHH:mm:ssZZZZ"]; 
NSDate *date = [df dateFromString:[[forTable valueForKey:@"updated_time"] stringByReplacingOccurrencesOfString:@"T" withString:@""]]; 
[df setDateFormat:@"eee MMM dd, yyyy hh:mm"]; 
pastDate = [df stringFromDate:date]; 
NSLog(@"and the date string is %@",pastDate); 

,它是给我在控制台这一结果

and the date string is Mon 01 17, 2011 08:22

虽然JSON值是给我的May.this代码日期是给我的日期一月

谁能告诉我这里发生了什么?

+0

我不知道这是否是问题,但在你的解析格式你似乎这个月有'mm',难道不是'MM'吗?此外,“+”可能会导致问题,它看起来像你解析了T. – Joe 2011-05-20 07:04:29

回答

11

它看起来像你的日期格式字符串没有考虑到字母“T” - 并且你应该将文字文本括在撇号之间,以保证安全。尝试:

[df setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ssZZZZ"];

+0

它的工作......谢谢......两个都起来:) – 2011-05-20 07:19:30

1

的日期格式是错误的,它应该与资本女士月:

[df setDateFormat:@"yyyy-MM-ddTHH:mm:ssZZZZ"]; 
+0

它的工作..谢谢:) – 2011-05-20 07:18:13

+1

你错过了,'T ”。 – Zorayr 2014-04-18 23:50:36