NSString *dateString = @"20.10.2010"; NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; [dateFormatter setDateFormat:@"dd.MM.yyyy"]; [dateFormatter setLocale:[NSLocale currentLocale]]; NSLog(@"%@", [dateFormatter dateFromString:dateString]);
Мой вывод:
2010-10-19 22:00:00 GMT
Почему один день потерян?
Возможно, потому что ваша локаль указывает, что вы находитесь в GMT + 2.
Это означает, что данная дата интерпретируется как 2010-10-20 00: 00 GMT + 2, следовательнов GMT + 0 это 2010-10-19 22: 00 .
Вы потеряли не 1 день, а 2 часа.Но дисплей GMT.Что вы хотите сделать со своим свиданием?См. справочник , чтобы изменить выходной форматер