je les suivantes NSDateFormatter:NSDate ne convertit pas correctement à l'aide NSDateFormatter
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM. d, yyyy"];
NSLocale *usLocal = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[dateFormatter setLocale:usLocal];
et j'ai une boucle while qui commence à une date de début donné et incrémente la date par un jusqu'à ce qu'il atteigne une date de fin spécifique.
NSDate *d = start;
while(YES){
NSString *td = [dateFormatter stringFromDate:d];
NSLog(@"converted date %@ to %@",d,td);
...adds a date and re-initializes d
}
Et je reçois la sortie comme la suivante:
2011-06-11 17:10:18.678 ListOf100[8784:707] converted date 2011-05-31 00:00:00 +0000 to May. 30, 2011
2011-06-11 17:10:18.687 ListOf100[8784:707] converted date 2011-06-01 00:00:00 +0000 to May. 31, 2011
2011-06-11 17:10:18.717 ListOf100[8784:707] converted date 2011-06-02 00:00:00 +0000 to Jun. 1, 2011
Comme vous pouvez le voir, toutes les dates ne sont pas correctement convertissaient. Ils sont tous de 1 jour. Pourquoi cela pourrait-il se produire? Et comment puis-je le réparer?
Pouvez-vous publier comment vous réinitialisez "d"? – Sai
Ce n'est pas le problème. Même la première fois c'est faux. – CodeGuy
Vous devriez probablement signaler ce problème à Apple. Je suis d'accord avec @Sai, vous devriez poster le code, afin que nous puissions tester si c'est reproductible. –