NSDate изменить часовой пояс
Я пишу приложение, которое включает в себя часовой пояс. Я хочу, чтобы захватить время устройства пользователя, давайте называть этоdateA
и у меня есть целевая дата, которая всегда будет в часовом поясе EDT (dateB
).
Я хочу получить разницу между двумя датами и показать пользователю, но вdateB
часовой пояс.
например:
время устройства пользователя 07:30 по ФДТ, иdateB
11:00 утра по восточному поясному времени.
Таким образом, разница во времени будет 30 минут.
Мой алгоритм:
1) Получить время устройства пользователя
2) конвертировать в EDT
3) захватить разницу во времени междуdateA
а такжеdateB
Моя проблема, после того, как я получаю время устройства пользователя[NSDate date]
и пройтиDateFormatter
с часовым поясом EDT. Время не меняется.
РЕДАКТИРОВАТЬ::
NSDate *localDate = [NSDate date]; //this will have 7:30AM PDT
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"EDT"]];
NSString *convertedTimeString = [dateFormatter stringFromDate:localDate];
Как получается, что convertTimeString не содержит 10:30 утра в EDT? Что я делаю неправильно?