Вам понадобится:
- NSDateFormatter для установки формата даты
- NSDateComponents для операций со сложением/вычитанием единиц времени (дни, месяцы, годы и т.д.)
- NSCalendar для того чтобы указать тип календаря ( currentCalendar(), Григорианский или какой-то еще)
let dateFormatter = NSDateFormatter()
dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle
let gmtTimeZone = NSTimeZone(abbreviation: "GMT")
dateFormatter.timeZone = gmtTimeZone
dateFormatter.dateFormat = "yyyyMMdd"
var dates = [String]()
let threeMonthAgoComponent = NSDateComponents()
threeMonthAgoComponent.month = -3
var date = NSDate()
let calendar = NSCalendar.currentCalendar()
let lastDate = calendar.dateByAddingComponents(threeMonthAgoComponent, toDate: date, options: NSCalendarOptions(rawValue: 0))
let dayAgoComponent = NSDateComponents()
dayAgoComponent.day = -1
while (date != lastDate) {
date = calendar.dateByAddingComponents(dayAgoComponent, toDate: date, options: NSCalendarOptions.MatchFirst)!
dates.append(dateFormatter.stringFromDate(date))
}
print(dates)
+ ссылки
stackoverflow.com/how-do-i-add-1-day-to-a-nsdatestackoverflow.com/nsdate-get-year-month-day