Я пытаюсь получить объект Date
для следующего наступающего будущего времени, где время по UTC равно 18. Однако мой код не работает должным образом.У меня есть следующее:
let dateComponents = DateComponents(timeZone: TimeZone(abbreviation: "GMT"), hour: 18)
let date = Calendar.current.nextDate(after: Date(), matching: dateComponents, matchingPolicy: .nextTime)
print(date)
Проблема в том, что это приводит к 2019-02-09 23:00:00 +0000
Дата для следующего наступающего времени, когда час равен 18 в EST
.
Я бы ожидал, поскольку в dateComponents
для часового пояса установлено UTC, а для часа - 18, дата будет 2019-02-09 18:00:00 +0000
.Кроме того, изменение часового пояса, похоже, не влияет на найденный nextDate
.
Почему функция nextDate не учитывает часовой пояс, установленный в dateComponents
, переданном ей?