【发布时间】:2019-02-03 21:04:09
【问题描述】:
我必须从星期一到星期六在 CollectionView 中显示工作日日期。直到周末,我只需要显示工作日的日期。我的任务图片Image。请帮助/建议我如何完成这项任务。
我得到工作日,但它从当天开始,但我需要从星期一开始日期,
func arrayOfDates() -> NSArray {
let numberOfDays: Int = 6
let formatter: DateFormatter = DateFormatter()
formatter.dateFormat = "dd"
let startDate = Date()
let calendar = Calendar.current
var offset = DateComponents()
var dates: [Any] = [formatter.string(from: startDate)]
for i in 1..<numberOfDays {
offset.day = i
let nextDay: Date? = calendar.date(byAdding: offset, to: startDate)
let nextDayString = formatter.string(from: nextDay!)
dates.append(nextDayString)
}
return dates as NSArray
}
【问题讨论】:
-
嗨,马丁 R,谢谢。我编辑了我的代码,请检查它
-
是的,你的回答很好,但我需要 6 天,但这里只给了 5 天。如果我删除 .filter { !calendar.isDateInWeekend($0) } 它显示 7 天并且从星期日开始。如何显示星期一是开始日期
-
您还需要设置 calendar.firstWeekday = 2 以从星期一开始。 firstWeekday 属性告诉您一周中的哪一天在您的语言环境中开始。