Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在swift中设置CollectionView中从周一到周六的工作日日期_Ios_Swift_Weekday - Fatal编程技术网

Ios 如何在swift中设置CollectionView中从周一到周六的工作日日期

Ios 如何在swift中设置CollectionView中从周一到周六的工作日日期,ios,swift,weekday,Ios,Swift,Weekday,我必须在CollectionView中显示从周一到周六的工作日日期。直到本周末,我必须只显示工作日的日期。我的任务图像。请帮助/建议我如何做这项工作 我有工作日,但从今天开始,但我需要从周一开始 func arrayOfDates() -> NSArray { let numberOfDays: Int = 6 let formatter: DateFormatter = DateFormatter() formatter.dateForm

我必须在CollectionView中显示从周一到周六的工作日日期。直到本周末,我必须只显示工作日的日期。我的任务图像。请帮助/建议我如何做这项工作

我有工作日,但从今天开始,但我需要从周一开始

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
    }
func arrayOfDates()->NSArray{
让numberOfDays:Int=6
let formatter:DateFormatter=DateFormatter()
formatter.dateFormat=“dd”
让startDate=Date()
让calendar=calendar.current
var offset=DateComponents()
变量日期:[Any]=[formatter.string(from:startDate)]
对于1中的i..试试这个

func formattedDaysInThisWeekNet() -> [String]
{
    // create calendar
    let calendar = NSCalendar(identifier: NSCalendar.Identifier.gregorian)!

    // today's date
    let today = NSDate()

    let weekday = calendar.component(.weekday, from: today as Date)
    let beginningOfWeek : NSDate
    if weekday != 2 { // if today is not Monday, get back
        beginningOfWeek = calendar.nextDate(after: today as Date, matching: .weekday, value: 1, options: [.matchNextTime, .searchBackwards])! as NSDate
    } else { // today is Monday
        beginningOfWeek = calendar.startOfDay(for: today as Date) as NSDate
    }
    var formattedDays = [String]()
    for i in 0..<7 {
        let date = calendar.date(byAdding: .day, value: i, to: beginningOfWeek as Date, options: [])!
        formattedDays.append(formatDate(date: date as NSDate))
        let firstDate = calendar.date(byAdding: .day, value: 0, to: beginningOfWeek as Date, options: [])!
        let lastDate = calendar.date(byAdding: .day, value: 6, to: beginningOfWeek as Date, options: [])!
        let fullString = "\(formatDateFull(date: firstDate as NSDate)) - \(formatDateFull(date: lastDate as NSDate))" as String
        fulldateLbl.text = "<  \(fullString)  >"
        print(fullString)
    }
    return formattedDays
}
func formattedDaysInThisWeekNet()->[String]
{
//创建日历
让calendar=NSCalendar(标识符:NSCalendar.identifier.gregorian)!
//今天的日期
let today=NSDate()
让weekday=calendar.component(.weekday,from:今天作为日期)
让我们从本周开始:NSDate
如果工作日!=2{//如果今天不是星期一,回来
BeginingOfWeek=calendar.nextDate(之后:今天作为日期,匹配:。工作日,值:1,选项:[.matchNextTime,.searchBackwards])!作为NSDate
}否则今天是星期一
beginingofweek=calendar.startOfDay(对于:今天为日期)为NSDate
}
var formattedDays=[String]()

谢谢你们的回复。我完成了这个任务

func arrayOfDates() -> NSArray {

    var calendar = Calendar(identifier: Calendar.Identifier.gregorian)
    let today = calendar.startOfDay(for: Date())
    let dayOfWeek = calendar.component(.weekday, from: today) - calendar.firstWeekday
    let weekdays = calendar.range(of: .weekday, in: .weekOfYear, for: today)!
    let dayss = (weekdays.lowerBound ..< weekdays.upperBound)
        .compactMap { calendar.date(byAdding: .day, value: $0 - dayOfWeek, to: today) }
    //.filter { !calendar.isDateInWeekend($0) }

    let formatter = DateFormatter()
    formatter.dateFormat = "dd"

    let strings = dayss.map { formatter.string(from: $0) }
    self.dates = strings as NSArray
    return dates as NSArray
}
func arrayOfDates()->NSArray{
var calendar=日历(标识符:calendar.identifier.gregorian)
让今天=calendar.startOfDay(for:Date())
让dayOfWeek=calendar.component(.weekday,from:today)-calendar.firstWeekday
让weekdays=calendar.range(of:.weekday,in:.weekOfYear,for:today)!
let dayss=(weekdays.lowerBound..

但这里我有一个问题,如何禁用以前的日期。我只需要选择当前日期和下一个日期。

你好,Martin R谢谢。我编辑了我的代码,请检查它是否可能重复。是的,你的答案很好,但我需要6天,但这里只提供5天。如果我删除。过滤器{!calendar.isDateInWeekend($0)}它显示7天,从星期天开始。如何显示星期一是开始日期您还需要设置日历。firstWeekday=2以从星期一开始。firstWeekday属性告诉您在您的区域设置中一周的哪一天开始。谢谢teja_D。但它只提供星期一日期。我需要6天一周调用此函数,在您希望的位置调用它se Weekdays你能理解吗?@RamThis line formattedDays.append(formattate日期:日期为NSDate))我完成了这项任务。谢谢teja_D。谢谢@Atif Khan。但我有7天的时间。我需要从周一开始打印日期,就像今天的日期25一样,但我需要此日期格式:2018-10-25。如果我更改此格式,我无法在collectionViewCell中显示整个格式。请帮助我。
func arrayOfDates() -> NSArray {

    var calendar = Calendar(identifier: Calendar.Identifier.gregorian)
    let today = calendar.startOfDay(for: Date())
    let dayOfWeek = calendar.component(.weekday, from: today) - calendar.firstWeekday
    let weekdays = calendar.range(of: .weekday, in: .weekOfYear, for: today)!
    let dayss = (weekdays.lowerBound ..< weekdays.upperBound)
        .compactMap { calendar.date(byAdding: .day, value: $0 - dayOfWeek, to: today) }
    //.filter { !calendar.isDateInWeekend($0) }

    let formatter = DateFormatter()
    formatter.dateFormat = "dd"

    let strings = dayss.map { formatter.string(from: $0) }
    self.dates = strings as NSArray
    return dates as NSArray
}