Я пытаюсь преобразовать сегодняшнюю дату, используя DateComponents:DateComponents дает неверную дату
let calendar = Calendar.current
//add today's date
var todayDate = Date()
var dateComponents = calendar.dateComponents([.day, .month, .year], from: todayDate)
dateComponents.timeZone = TimeZone.current
todayDate = calendar.date(from: dateComponents)!
При отладке я обнаружил, что после объявления todayDate, его значение было 2016-11-11 07:44:44 +0000
. После использования dateComponents значение изменилось на 2016-11-10 18:30:00 +0000
. Принимая во внимание, что согласно моему местоположению, день должен быть 11 ноября, а время должно быть где-то между 1 или 2 вечера. Почему это происходит?
Я указал 'dateComponents.timeZone = TimeZone.current' выше. Позвольте мне попробовать добавить часы и минуты, а затем повторить попытку – StudentX
После добавления .hour и .minute, дата правильная, но время все еще в UTC. – StudentX
Вам нужно также выделить часовой пояс. Не устанавливать его отдельно. –