У меня возникает эта проблема, когда правильное время передается, но как только оно попадает в [formatter setDateFormat:date]
, оно появляется в другом часовом поясе. Вот отрывокПреобразование времени по местному времени в Objective-C
NSDate* date = user.startDate;
NSDateFormatter *format = [[NSDateFormatter alloc] init];
NSLog(@"-------> (1) time is %@", date);
NSLog(@"-------> (2) time is %@", date);
[format setDateFormat:@"h:mm a"];
NSLog(@"-------> (3) time is %@", date);
NSLog(@"-------> (4) time is %@", [format stringFromDate:date]);
Здесь выход отладчик для сообщений журнала
-------> (1) time is 2016-06-30 09:25:17 +0000
-------> (2) time is 2016-06-30 09:25:17 +0000
-------> (3) time is 2016-06-30 09:25:17 +0000
-------> (4) time is 2:25 AM
Я ожидаю выход для (4)
быть time is 9:25 AM
Я удалил код, который не имеет отношения к вашему вопросу (но сохранил повторяющиеся строки так, чтобы ссылки в ответах оставались действительными). – Eiko
Обратите внимание, что (1), (2), (3) просто выполняют точную вещь samt. Дата неизменна и одна и та же, и вы не используете форматировщик. – Eiko