2010-10-04 5 views
5

J'importe un fichier CSV avec un format de date mois/jour/année (par exemple 21/01/2007).NSDateFormatter - 1 jour incorrect?

Je suis en boucle à travers le CSV certains travaillent, mais certains sortent avec la date 1 jour précédent avec un temps de 23h00? L'une des dates qui ne fonctionnent pas ressemblerait à ceci:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"M/d/yyyy"]; 
    NSDate *date = [dateFormatter dateFromString:@"10/7/2007"]; 

mais quand je la date de sortie dans un NSLog il a ceci:

NSLog(@"Date: String: %@ Date: %@", @"10/7/2007", date); 

Date: chaîne: 10/7/2007 Date de : 2007-10-06 23:00:00 GMT

Qu'est-ce que je fais mal?

Répondre

5

On dirait que vous avez un problème de fuseau horaire, avez-vous défini le fuseau horaire?

+0

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat: @ "M/j/aaaa ZZZ"]; NSDate * date = [dateFormatter dateFromString: @ "10/7/2007 +000"]; \t NSLog (@ "Date: Chaîne:% @ Date:% @", @ "10/7/2007", date); – Jorge

+1

Corrigé avec: [dateFormatter setTimeZone: [NSTimeZone timeZoneWithName: @ "GMT"]]; À votre santé! – jodm