2010-08-16 9 views
1

Je suis en train d'extraire des chaînes d'un texte qui représente des dates. Ils ressemblent à ceci:Date d'analyse incorrecte de NSDateFormatter

Monday August 16, 2010 05:28 AM EST

Je suis en train de les analyser avec un NSDateFormatter. Je l'ai mis à son format:

[dateFormatter setDateFormat:@"EEEE MMMM d, YYYY h:mm a z"];

Cependant, cela ne fonctionne pas. Pour l'exemple que j'ai donné ci-dessus, si je convertir la chaîne à une date et à cette date à une chaîne, le rendement de formatter date ceci:

Monday December 28, 2009 5:28 AM EST

Qu'est-ce que je fais mal?

EDIT: Il semble fonctionner lors de l'utilisation du format [dateFormatter setDateFormat:@"EEEE MMMM d, y h:mm a z"];. Étrange ...

Répondre

2

Will,

NSDateFormatter utilise le standard Unicode pour le formatage des dates. Comme vous l'avez constaté, "y" fonctionne, mais "YYYY" ne fonctionne pas. Si vous voyez la spécification (référencée plusieurs couches dans la documentation d'Apple, donc pas facile à trouver), vous verrez que "Y" a cette note: "Année (de" Semaine de l'année "), utilisée dans ISO-semaine Peut différer de l'année civile. "

Here is the link to the specification.

Je sais que vous avez fixé vous-même, mais cela peut aider à expliquer pourquoi « Y » n'a pas fonctionné pour vous.

Questions connexes