2010-10-04 11 views
5

Importación de un archivo CSV con un formato de fecha de mes/día/año (por ejemplo, 21/01/2007).NSDateFormatter - 1 día incorrecto?

Estoy recorriendo el CSV algunos están funcionando, pero algunos están saliendo con la fecha 1 día anterior con un tiempo de 23:00? Una de las fechas que no están funcionando se vería así:

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

pero cuando la salida de la fecha en un NSLog que tiene esto:

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

Fecha: Cadena: 10/7/2007 Fecha : 2007-10-06 23:00:00 GMT

¿Qué estoy haciendo mal?

Respuesta

5

Parece que tienes un problema de zona horaria, ¿has configurado la zona horaria?

+0

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

+1

Corregido con: [dateFormatter setTimeZone: [NSTimeZone timeZoneWithName: @ "GMT"]]; ¡Aclamaciones! – jodm

Cuestiones relacionadas