我需要把这个函数转换成swift。
基本上这一周的“n”天是多少。例如,如果我将它与NSDate().getWeekDay(0)一起使用,它将为我提供9月11日的太阳,依此类推。
但是在SWIFT-3中似乎不存在单位范围。
这是我以前在Swift-2中实现的
延期日期{
func getWeekDay(日:Int)->NSDate{
变量开始工作周:n日期?
NSCalendar.currentCalendar().rangeOfUnit(NSCalendarUnit.WeekOfYear,startDate:&beginingOfWeek,interval:nil,forDate:self)
让comps=NSDateComponents()
comps.day=天
comps.minute=NSCalendar.currentCalendar().component(NSCalendarUnit.minute,fromDate:self)
comps.hour=NSCalendar.currentCalendar().component(NSCalendarUnit.hour,fromDate:self)
让nextDate=NSCalendar.currentCalendar().dateByAddingComponents(comps,toDate:BeginingOfWeek!,选项:。向后搜索)
返回下一个日期!
}
}

最佳答案

有一种方法可以让本周的开始
直接翻译为Swift 3:

extension Date {
    func getWeekDay(day: Int) -> Date {
        let cal = Calendar.current
        let comps = cal.dateComponents([.weekOfYear, .yearForWeekOfYear], from: self)
        let beginningOfWeek = cal.date(from: comps)!
        let nextDate = cal.date(byAdding: .day, value: day, to: beginningOfWeek)!
        return nextDate
    }
}

关于ios - 如何获得日期的“n”个工作日,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39527084/

10-12 01:32