2010-01-06 5 views
0

Pourquoi NSDateFormatter interprète-t-il mal sa propre dateString?NSDateFormatter mauvaise sortie avec string de stringWithDate:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

[dateFormatter setDateFormat:@"YYYY-MM-DD'T'HH:mm:ss.SSSZZZZ"]; 

NSDate *now = [NSDate date]; 

NSLog(@"Now: %@, Date: %@", [dateFormatter dateFromString:[dateFormatter stringFromDate:now]], now); 

produit le résultat suivant: maintenant: 06/01/1970 18:07:05 +0100, Date: 2010-01-06 18:07:05 +0100

Je sais que vous devrait utiliser aaaa et jj (et cela n'arrive pas avec aaaa et jj), mais ce n'est pas le point ici. Je m'attends à recevoir la même date lors de l'analyse de la chaîne créée par le formateur pour moi.

Répondre

1

Cela fonctionne

[dateFormatter setDateFormat:@"y-MM-DD'T'HH:mm:ss.SSSZZZZ"]; 

Regardez ici, http://www.crystalminds.nl/?p=4 pour plus d'informations sur les drapeaux difrent.

Il semble que le formatter ne reconnaît pas une année lors de l'utilisation AAAA parce

[dateFormatter setDateFormat:@"YYYY-MM-DD'T'HH:mm:ss.SSSZZZZ"]; 
// is equal to 
[dateFormatter setDateFormat:@"MM-DD'T'HH:mm:ss.SSSZZZZ"]; 
+0

Merci pour la réponse (réponse tardive, je sais) Je pensais que je pourrais vous donner quelques représentants mais désolé. peut-être plus tard.... – maxbareis