Нельзя сказать, что день недели неправильный, если вы не даете год.
Форматер даты, похоже, игнорирует день недели при создании даты:
let dateMakerFormatter = DateFormatter()
dateMakerFormatter.dateFormat = "EEEE:dd:MMM:HH:mm"
let date = dateMakerFormatter.date(from: "Friday:01:Nov:12:00")!
print(date) -> 2000-11-01 12:00:00 +0000
print(dateMakerFormatter.string(from: date)) -> Wednesday:01:Nov:12:00
Эй, Presto, теперь ты в 2000 году, когда 5 ноября упал наВоскресенье. Важный вывод, который вам нужен, заключается в том, что вы никогда и никогда не должны использовать строки для передачи значений даты в вашем коде . Используйте Date
. Если вы получаете дату из ответа API, измените ее на дату приема. Если вы получаете один из входа пользователя, используйте средство выбора даты или другой элемент управления. Если вы получаете одну из строк, которые вводит пользователь, я вежливо рекомендую вам сделать ненужную работу для себя, но не забудьте заполнить все детали, которые пользователь не сообщает.