Comment interprétez-vous les dates avec NSDateFormatter?
-
21-09-2019 - |
Question
Dans l'Apple Docs, ils disent que NSDateFormatter utilise l'Unicode pour les spécifications. J'ai lu les spécifications, mais je vais avoir des problèmes d'interprétation de cette date:
NSDateFormatter *frm = [[NSDateFormatter alloc] init];
[frm setDateFormat:@"EEE MMM dd HH:mm:ss ZZZ yyyy"];
NSLog(@"Tue Oct 13 09:24:15 +0000 2009 becomes %@", [frm dateFromString:@"Tue Oct 13 09:24:15 +0000 2009"]);
Ce code imprime:
2009-10-13 11:37:40.334 test2[1704:20b] Tue Oct 13 09:24:15 +0000 2009 becomes (null)
La solution
Désolé les gars, figured it out déjà. par défaut NSDateFormatter à utiliser les paramètres régionaux du système actuel. Dans l'exemple de code ci-dessus, il échoue que si vous définissez vos paramètres régionaux du système autre chose que de le réparer américain, juste avant de définir les paramètres régionaux à celui utilisé par votre chaîne de date, comme ceci:
[frm setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow