2011-05-20 8 views
4

Dans mon graphique pour facebook .. Apiiphone problème NSDate Conversion

Je reçois ces données .. de JSON ..
"updated_time" = "2011-05-17T14:52:16+0000";

et je suis en utilisant ce code pour le convertir en date valide Format

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); 

et il me donne ce résultat dans la console

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

si la valeur JSON me donne la date code May.this me donne la date Janvier

quelqu'un peut me dire ce qui se passe ici?

+0

Je ne sais pas si cela est le problème, mais dans le format de votre analyse vous semble avoir 'mm' pour le mois, ne devrait-il pas être «MM»? En outre, le «+» peut causer des problèmes, il semble que vous avez analysé le T. – Joe

Répondre

11

Il semble que votre chaîne de format de date ne prenne pas en compte la lettre "T" - et vous devriez probablement inclure du texte littéral entre les apostrophes, juste pour être sûr. Essayez:

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

+0

cela a fonctionné ... Merci ... les deux sont en hausse :) –

1

Le dateFormat avait tort, il devrait être capital Mme pour le mois:

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

cela a fonctionné ..Merci :) –

+1

Vous êtes manquant, 'T '. – Zorayr