Я конвертирую NSString в NSDate с помощью NSDateFormatter. Теперь код отлично работает здесь во всех ОС с устройством и симулятором, но он создает разные выходные данные в Великобритании, США. Вот код, который я использую.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *dateString=[NSString stringWithString:@"2010-09-05 04:00:00"];
NSDate *dateObj = [dateFormatter dateFromString:dateString];
Фактическая дата: 2010-09-05 04: 00: 00
Выход в США: 2010-09-04 21:00:00 -0700
Кажется, проблема в TimeZone / Locale где-то, но не знаю решения.
Я также попробовал:
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
но не смог выйти из вопроса.
Есть ли какой-нибудь простой способ получить NSDate из NSString, поскольку строка фактически представляет без влияния TimeZone. Я просто хочу получить NSDate, как он появляется в NSString без изменения даты и времени. Там в любом случае?
Заранее спасибо.