Учитывая year
и month
, вы можете рассчитать массив возможных day
значений, которые будут предоставлены вашему сборщику, следующим образом:
let calendar = Calendar.current
let components = DateComponents(year: year, month: month, day: 1)
guard let date = calendar.date(from: components),
let range = calendar.range(of: .day, in: .month, for: date) else { return }
let days = Array(range)
Мне бы хотелось, чтобы в формате даты я мог сравнить ее с другой датой.
Если у вас есть year
, month
и day
, hour
(преобразованы в 24-часовое значение от 0 до 23), вы можете построить объект Date
следующим образом:
let calendar = Calendar.current
let components = DateComponents(year: year, month: month, day: day, hour: hour, minute: minute)
guard let date = calendar.date(from: components) else { return }
Теперь date
можно сравнить с любым другим Date
объектом.