Я пытаюсь получить компоненты даты из значения даты из конечной точки API. Мне нужно сохранить значения даты, поскольку они уже скорректированы для часового пояса. К сожалению, я не могу контролировать, как API возвращает значение даты.
Когда я получаю значение даты (sessionTime
) из API, оно возвращается следующим образом:
2017-12-05 08:00:00 +0000
Однако мне нужно настроить локальное уведомление на основе этого времени, когда я пытаюсь извлечь компоненты из этого объекта даты с помощью следующего кода:
let notifyTime = Calendar.current.dateComponents(
[.year, .month, .day, .hour, .minute, .second], from: sessionTime)
Я получаю это:
year: 2017 month: 12 day: 5 hour: 2 minute: 0 second: 0 isLeapMonth: false
Я в шести часах от GMT, поэтому очевидно, что происходит, но я хотел бы предотвратить это и извлечь компоненты даты точно так, как они есть. Желаемый результат:
year: 2017 month: 12 day: 5 hour: 8 minute: 0 second: 0 isLeapMonth: false
Кто-нибудь может помочь? Спасибо!