2010-10-04 26 views
5

Bir tarih/ay/yıl biçiminde (ör. 21/01/2007) bir CSV dosyası alıyorum.NSDateFormatter - 1 gün yanlış mı?

CSV üzerinden döngü yapıyorum, bazıları çalışıyor, ancak bazıları 1 gün öncesinden saat 23:00 ile çıkıyor. şu şekilde görünecektir çalışmayan tarihleri ​​biri:

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

Tarih:: String: 2007/10/07 Tarihi

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

ama bu olduğunda bir NSLog I çıkış tarihi : 2007-10-06 23:00:00 GMT

Neyi yanlış yapıyorum?

cevap

5

Saat dilimi sorununuz var gibi görünüyor, saat dilimini ayarladınız mı?

+0

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

+1

ile düzeltildi: [dateFormatter setTimeZone: [NSTimeZone timeZoneWithName: @ "GMT"]]; Şerefe! – jodm