Преобразование NSString в NSDate. 1 день потерян - PullRequest
1 голос
/ 11 октября 2010
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

Почему один день потерян?

Ответы [ 2 ]

3 голосов
/ 11 октября 2010

Возможно, потому что ваша локаль указывает, что вы находитесь в GMT + 2.

Это означает, что данная дата интерпретируется как 2010-10-20 00: 00 GMT + 2, следовательнов GMT + 0 это 2010-10-19 22: 00 .

1 голос
/ 11 октября 2010

Вы потеряли не 1 день, а 2 часа.Но дисплей GMT.Что вы хотите сделать со своим свиданием?См. справочник , чтобы изменить выходной форматер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...