Я относительно новичок в анализе строк времени ObjectMapper и столкнулся с огромной проблемой. У меня есть сервер, отправляющий мне строку времени в формате «гггг-ММ-дд'Т'ЧЧ: мм: сс.ССЗ», которую я должен проанализировать в своем объекте Date локально. Мой сервер отправляет мне дату в местном часовом поясе, то есть GMT+8, поэтому, скажем, я получаю от сервера «2018-08-23T15:02:44.000Z». Мне нужно сохранить это именно так, как оно есть в моем файле области. Я использую следующий код для преобразования:
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSZ"
formatter.timeZone = TimeZone.current
recordDateTime <- (map["record_time"], DateFormatterTransform(dateFormatter: formatter))
Но проблема в том, что объект даты, сохраняемый в области, — 2018-08-23 23:02:44. Я считаю, что DateFormatterTransform принимает строки даты в зоне GMT и, таким образом, преобразует их в мой локальный часовой пояс, то есть GMT+8. Могу ли я в любом случае установить часовой пояс для DateFormatterTransform вручную, чтобы я не получил сдвиг времени? Мы не можем изменить сервер в данный момент времени, так как база данных довольно большая и уже содержит все даты, хранящиеся в местном часовом поясе.
Пожалуйста, предложите, как решить эту проблему. Спасибо