Analyse de date / heure dans iOS: comment traiter (ou ne pas gérer) les fuseaux horaires?

J'ai un ASP.NET MVC 3 site web qui communique avec mon application iOS via JSON. Dans le cadre de la objets envoyés dans la réponse JSON, j'ai les dates dans le format de yyyy-MM-dd HH:mm:ss ZZZ les sorties qui 2011-04-05 16:28:22 -07:00. Comment dois-je analyser que dans iOS?

C'est le code je suis de déconner avec le droit maintenant:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSDate *date = [dateFormatter dateFromString:@"2011-04-05T16:28:22-0700"];

NSLog(@"%@; %@; %@", dateFormatter, date, [NSTimeZone localTimeZone]);

Première chose à noter est que 2011-04-05 16:28:22 -07:00 a ressembler 2011-04-05T16:28:22-0700où un T remplace le premier espace (en supposant que signifie le temps, ou lorsque le temps de la partie de la chaîne de caractères commence par?), le deuxième espace est supprimé et les deux points dans le temps de la zone est supprimée. Je me dis que je vais trouver un moyen de formater la chaîne .NET est de l'envoi de retour pour se conformer à la chaîne iOS va analyser.

Le vrai problème est que la date de sortie est de 7 heures à l'avance de ce que j'ai envoyé dans la réponse JSON. Donc, iOS sorties 2011-04-05 16:28:22 -07:00 comme 2011-04-05 23:28:22 +0000et ce n'est pas aussi loin que mon application est concerné.

La seule solution que j'ai trouvé jusqu'à présent est d'envoyer la date dans le JSON comme 2011-04-05 16:28:22 +00:00mais c'est de nouveau faux, parce que je suis en modifiant la date réelle devrait être.

De toute façon, je vous en serais reconnaissant à quelqu'un de prendre un coup d'oeil et me laisser savoir comment je peux analyser la chaîne de date .NET est sortie via le format yyyy-MM-dd HH:mm:ss ZZZ (qui, je suppose, peut être ré-écrit pour yyyy-MM-ddTHH:mm:ssZZZ) à un NSDate objet que je peux utiliser dans iOS.

source d'informationauteur Gup3rSuR4c