Question

Je NSDate, il sera affiché comme ci-dessous si je NSLog(@"%@", date.description);

  

2010-12-31 15:00:00 +0000

il sera affiché comme si je NSLog(@"%@", [date descriptionWithLocale:[[NSLocale currentLocale] localeIdentifier]]);

  

Samedi 1 Janvier, 2011 00:00:00   Heure normale du Japon

Mais ce sera comme ci-dessous montrent si je NSLog(@"%@", [date formattedDateString]);

  

2010-01-01 00:00:00 +0900

Où dois-je faire erreur?

- (NSString *)formattedDateString {
    return [self formattedStringUsingFormat:@"YYYY-MM-dd HH:mm:ss ZZZ"];
}

- (NSString *)formattedStringUsingFormat:(NSString *)dateFormat {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:dateFormat];
    NSString *ret = [formatter stringFromDate:self];
    [formatter release];
    return ret;
}
Était-ce utile?

La solution

Je suis ce que je dois comme ci-dessous:

  

- (NSString *) formattedDateString {
  retour [auto formattedStringUsingFormat: @ "yyyy-MM-JJ HH: mm: ss ZZZ"];
  }

Autres conseils

Vous avez une sous-classe de NSDate, non? Ma seule conjecture est que vous avez fait une erreur quelque part ailleurs dans le code de priorité, peut-être lors de la configuration des composants du temps de la date (pour ainsi dire) de telle sorte que la chaîne de description ou de ses données source n'a pas été correctement mis à jour.

Edit: Oh tu l'as travail, grand. Quelques secondes trop tard. :) À la vôtre!

Les deux points de 2010-01-01 00:00:00 +900 et 2010-12-31 15:00:00 +000 au même temps.

Modifier :
Les deux points de 2011-01-01 00:00:00 +900 et 2010-12-31 15:00:00 +000 au même temps.

Est-ce que vous habitez à GMT + 9 (disons Tokyo)?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top