J'ai un format de date très étrange qui vient à moi via JSON. par exemple. - "Juillet 18 2010 02:22:09"NSDateFormatter, NSDate, UTC et format de date étrange
Ces dates sont toujours UTC. Je suis la date avec l'analyse syntaxique NSDateFormatter, et la mise en fuseauHoraire à UTC ...
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
[inputFormatter setDateFormat:@"MMMM, dd yyyy HH:mm:ss"];
NSDate *formatterDate = [inputFormatter dateFromString:dtStr];
Cependant, la date à laquelle est connecté apparaît avec le décalage de mon appareil ...
« 2010-07 -18 02:22:09 -0600 "
Qu'est-ce que je fais mal ici?
Merci. Tu as raison. C'est juste déroutant de l'avoir montrer un décalage lorsque NSDate ne stocke pas d'informations de fuseau horaire. –
Pas seulement les informations de fuseau horaire, mais le format. Il n'a aucune idée de comment il a été créé; il ne sait pas qu'il a été créé à partir d'une date US format long, ni qu'il a été créé avec l'heure en UTC. C'est pourquoi la description est en heure locale et au format ISO 8601: c'est ainsi que chaque date se décrit, quelle que soit la façon dont elle a été créée. Pour obtenir la date représentée dans un format spécifique et/ou dans un fuseau horaire spécifique, vous devez utiliser un formateur pour représenter la date, l'inverse de la façon dont vous avez utilisé un formateur pour analyser la date. –
et si nous avons besoin de ce format "2010-07-18 02:22:09 +0000", comment pouvons-nous obtenir cela? – Maystro