如何获取该月的前 7 天 我知道如果今天是 18 日如何获取,但如果今天是 11 月 3 日怎么办?如何在 Int 中获取上个月(10 月)的最后 4 天?
最佳答案
使用 NSCalendar
和 NSDateComponents
:
let cal = NSCalendar.currentCalendar()
// start with today
var date = cal.startOfDayForDate(NSDate())
var days = [Int]()
for i in 1 ... 7 {
// get day component:
let day = cal.component(.DayCalendarUnit, fromDate: date)
days.append(day)
// move back in time by one day:
date = cal.dateByAddingUnit(.DayCalendarUnit, value: -1, toDate: date, options: nil)!
}
println(days)
Swift 2.2 (Xcode 7.3.1) 更新:
let cal = NSCalendar.currentCalendar()
var date = cal.startOfDayForDate(NSDate())
var days = [Int]()
for i in 1 ... 7 {
let day = cal.component(.Day, fromDate: date)
days.append(day)
date = cal.dateByAddingUnit(.Day, value: -1, toDate: date, options: [])!
}
print(days)
Swift 3(Xcode 8 beta 2)更新:
let cal = Calendar.current
var date = cal.startOfDay(for: Date())
var days = [Int]()
for i in 1 ... 7 {
let day = cal.component(.day, from: date)
days.append(day)
date = cal.date(byAdding: .day, value: -1, to: date)!
}
print(days)
关于ios - Swift - 获取从今天开始的最后 7 天数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26996330/