gpt4 book ai didi

ios - 如何获取日期的 'n' 工作日

转载 作者:行者123 更新时间:2023-11-28 09:36:31 26 4
gpt4 key购买 nike

我需要将这个函数翻译成swift。基本上它得到了本周的“n”日是什么。因此,例如,如果我将它与 NSDate().getWeekDay(0) 一起使用,它会给我 9 月 11 日星期日,依此类推。但似乎 rangeOfUnit 不再存在于 Swift-3 中。这是我之前在 Swift-2 中的实现

extension NSDate {    func getWeekDay(day: Int) -> NSDate {        var beginningOfWeek: NSDate?        NSCalendar.currentCalendar().rangeOfUnit(NSCalendarUnit.WeekOfYear, startDate: &beginningOfWeek, interval: nil, forDate: self)        let comps = NSDateComponents()        comps.day = day        comps.minute = NSCalendar.currentCalendar().component(NSCalendarUnit.Minute, fromDate: self)        comps.hour = NSCalendar.currentCalendar().component(NSCalendarUnit.Hour, fromDate: self)        let nextDate = NSCalendar.currentCalendar().dateByAddingComponents(comps, toDate: beginningOfWeek!, options: .SearchBackwards)        return nextDate!    }}

最佳答案

有一个替代方法可以获取一周的开始时间直接转换为 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com