J'essaie de convertir une chaîne à partir d'un résultat d'API Twitter en un objet NSDate en utilisant NSDateFormatter. Ce que je trouve est que NSDateFormatter renvoie juste la date/heure actuelle de ma machine à la place. Toute aide serait grandement appréciée!NSDateFormatter - Problème lors de l'analyse de la date à partir de l'API JSON de Twitter
Voici ce que la chaîne ressemble à venir dans ma fonction:
Sam 11 Déc 2010 01:35:52 +0000
Et voici la fonction:
+(NSDate*)convertTwitterDateToNSDate:(NSString*)created_at
{
// Sat, 11 Dec 2010 01:35:52 +0000
static NSDateFormatter* df = nil;
df = [[NSDateFormatter alloc] init];
[df setTimeStyle:NSDateFormatterFullStyle];
[df setFormatterBehavior:NSDateFormatterBehavior10_4];
[df setDateFormat:@"EEE, d LLL yyyy HH:mm:ss Z"];
NSDate* convertedDate = [df dateFromString:created_at];
[df release];
return convertedDate;
}
Et voici la date de retour:
2010-12-10 17:58:26 -0800
Ce qui se trouve être la date et l'heure de mon ordinateur en ce moment.
* Remarque! * a modifié la gestion de la mémoire en utilisant une autorelease lors de l'allocation de DateFormater à une version explicite de la fonction. En appelant cela dans une boucle géante, j'ai constaté qu'il a commencé à échouer avec l'autorelease (je devine que la partie auto ne se relâche pas assez vite), mais en changeant cela pour régler le problème.
Pouvez-vous montrer le code qui appelle cette méthode et la façon dont vous affichez le résultat? – Anna
Votre code fonctionne pour moi. Je vérifierais où vous avez affaire avec la valeur retournée. (Bien que votre code fuira un NSDateFormatter chaque fois qu'il est exécuté.) –
Merci Steve, fuite de mémoire fixée! –