且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何快速获取当前一周的所有天数

更新时间:2023-02-10 12:45:01

要获取一周中的工作日,它是:

To get the weekdays of the week, it is:

let calendar = Calendar.current
let today = calendar.startOfDay(for: Date())
let dayOfWeek = calendar.component(.weekday, from: today)
let weekdays = calendar.range(of: .weekday, in: .weekOfYear, for: today)!
let days = (weekdays.lowerBound ..< weekdays.upperBound)
    .compactMap { calendar.date(byAdding: .day, value: $0 - dayOfWeek, to: today) }  // use `flatMap` in Xcode versions before 9.3
    .filter { !calendar.isDateInWeekend($0) }

要显示为星期四= 82,则为

To display that as "Thursday = 82", it is

let formatter = DateFormatter()
formatter.dateFormat = "eeee' = 'D"
for date in days {
    print(formatter.string(from: date))
}

let strings = days.map { formatter.string(from: $0) }