Самое краткое исправление для .weekday возвращения неправильный день - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь получить текущий день недели, этот код возвращает один день в будущем. Какое самое краткое решение для этого?

currentDay = DateFormatter().weekdaySymbols[Calendar.current.component(.weekday, from: Date())]


print(currentDay)

1 Ответ

2 голосов
/ 23 апреля 2020

В iOS символы дня недели начинаются с воскресенья по субботу. Это массив, поэтому индексы варьируются от 0 до 6

Все, что вам нужно сделать, это вычесть число weekDay на 1, чтобы получить правильный день, как показано ниже:

let weekDay = Calendar.current.component(.weekday, from: Date())

let currentDay = DateFormatter().weekdaySymbols[weekDay-1]

Также обратите внимание, что когда вы пытаетесь получить номер WeekDay для воскресенья из Calendar API, он вернет вам 1

Пожалуйста, найдите снимок документации разработчика для справки

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...