2011-05-20 71 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