views:

37

answers:

1

Hi.

I am importing a CSV file with a date format of month/day/year (e.g. 21/01/2007).

I am looping through the CSV some are working but some are coming out with the date 1 day previous with a time of 23:00? One of the dates that are not working would look like this:

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

but when I output the date in an NSLog it has this:

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

Date: String: 10/7/2007 Date: 2007-10-06 23:00:00 GMT

What am I doing wrong?

+1  A: 

Sounds like you have a timezone problem, have you set the timezone?

Anders K.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"M/d/yyyy ZZZ"]; NSDate *date = [dateFormatter dateFromString:@"10/7/2007 +000"]; NSLog(@"Date: String: %@ Date: %@", @"10/7/2007", date);
Jorge
Fixed with:[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; Cheers!
jodm