Почему мой часовой пояс не сохраняется в моем NSDate?

Я должен инициализировать объект NSDate из NSString в objective-c. Я делаю это так:

NSString *dateString = [[webSentence child:@"DateTime"].text stringByReplacingOccurrencesOfString:@"T" withString:@" "];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-mm-dd HH:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Europe/Budapest"]];

NSDate *date = [[NSDate alloc] init];
date = [dateFormatter dateFromString:dateString];

Например: когда я пробую использовать строковое значение @ "2011-01-02 17:49:54", я получаю NSDate 2011-01-02 16:49:54 +0000. Как видите, разница между двумя значениями составляет один час. NSDate имеет неправильное значение, оно должно быть точно таким же, как я определил в своей строке в часовом поясе, который я установил в dateFormatter. Кажется, он использует мою дату, определенную в строке как UTC, даже если я установил его часовой пояс на «Европа / Будапешт». Как я могу исправить эту проблему?

Спасибо!

15
задан fabb 26 February 2016 в 14:02
поделиться