Сервер предоставляет мне дату в формате: «2018-09-07 01:00:00». Часовой пояс этой даты - UTC. Теперь я должен преобразовать его в местный часовой пояс. Я использую функцию:
func getLocalDate(dateString: String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss a"
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
dateFormatter.locale = Locale.current
let dt = dateFormatter.date(from: dateString)
dateFormatter.timeZone = TimeZone.current
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss aZ"
return dateFormatter.string(from: dt!)
}
При этом дата сначала конвертируется в UTC, а затем в местный часовой пояс, поэтому я не получаю желаемого результата. Как мне установить часовой пояс этой даты как UTC, без конвертации?
РЕДАКТИРОВАТЬ: Я получаю вывод 2018-09-07 05:45:00 AM + 0545, но ожидаемый вывод 2018-09-07 06:45:00 AM + 0545