extension Date { static func getDates(forLastNDays nDays: Int) -> [String] { let cal = NSCalendar.current // start with today var date = cal.startOfDay(for: Date()) var arrDates = [String]() for _ in 1 ... nDays { // move back in time by one day: date = cal.date(byAdding: Calendar.Component.day, value: -1, to: date)! let dateFormatter = DateFormatter() dateFormatter.dateFormat = "dd/MM/yyyy" let dateString = dateFormatter.string(from: date) arrDates.append(dateString) } print(arrDates) return arrDates } } let last7Days = Date.getDates(forLastNDays: 7) debugPrint(last7Days) //Today(14/08/2023) it prints: ["13/08/2023", "12/08/2023", "11/08/2023", "10/08/2023", "09/08/2023", "08/08/2023", "07/08/2023"]