How to create an array of days starting with today and going back the last 30 days in Swift

1 Answer

0 votes
import Foundation

func getLast30Days() -> [Int] {
    // Get today's date
    let today = Date()
    var days: [Int] = []

    // Create a calendar instance for date calculations
    let calendar = Calendar.current

    // Populate the array with the last 30 days
    for i in 0..<30 {
        if let pastDate = calendar.date(byAdding: .day, value: -i, to: today) {
            let day = calendar.component(.day, from: pastDate) // Extract the day of the month
            days.append(day)
        }
    }

    return days
}

let days = getLast30Days()

print("Days:")
for day in days {
    print(day)
}



/*
run:

Days:
11
10
9
8
7
6
5
4
3
2
1
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13

*/

 



answered Apr 11 by avibootz
...