Мне нужно получить все даты недели за текущий месяц, только когда я нажал определенную дату.Например, если я нажал 28 сентября, результат будет 23-28 сентября, но если я нажму 30 сентября, результат будет ТОЛЬКО 30 сентября, потому что последующие даты - октябрь.
Это мойкод для получения дат недели:
extension Date {
var startOfWeek: Date? {
let gregorian = Calendar(identifier: .gregorian)
guard let sunday = gregorian.date(from: gregorian.dateComponents([.yearForWeekOfYear, .weekOfYear], from: self)) else { return nil }
return gregorian.date(byAdding: .day, value: 0, to: sunday)
}
var endOfWeek: Date? {
let gregorian = Calendar(identifier: .gregorian)
guard let sunday = gregorian.date(from: gregorian.dateComponents([.yearForWeekOfYear, .weekOfYear], from: self)) else { return nil }
return gregorian.date(byAdding: .day, value: 6, to: sunday)
}
}
Но для этого кода результат 30 сентября - 6 октября, что не то, что я хочу.Просьба помочь