Что вы имеете в виду "Дата ()" отличается в 12.1 и 9.1 "?Вы имеете в виду то, как это отображается по-другому?Как вы получаете разные выходные данные от форматера даты в 2 разных версиях ОС?
Отправленный вами код использует дату в тот момент, когда она рассчитывается в строке let date = Date().addingTimeInterval(TimeInterval(secondsFromGMT))
.Этот код будет генерировать немного другую дату при каждом запуске.
Выражение Date()
дает вам текущую дату в момент запуска кода.Запустите его через 5 секунд, и вы получите дату через 5 секунд.Потратьте время на установку кода на симуляторе, работающем под другой версией ОС, и он даст разные результаты, потому что прошло время.
Вы пытаетесь написать код, который вводит строку даты, преобразует ее вДата объекта, а затем добавляет к нему смещение?Почему ты занимаешься математикой с secondsFromGMT
?Это неправильный способ обращения с часовыми поясами.
Объясните, что вы пытаетесь сделать, и мы можем помочь вам написать код, который это делает.Мне кажется, у вас есть фундаментальное недопонимание того, как проводить математику в какао.