我找到了這篇關于如何找到下一個星期一、星期二...等的舊帖子。這很有幫助,但是如果我們想找到下一個作業日或周末怎么辦?下周末可能是周六,也可能是周日,那么現在我應該怎么做才能讓代碼為我們做決定?(這與查找下一個作業日類似,根據當前日期有 5 個選擇)。
任何幫助都會起作用。有沒有辦法修改我之前在舊帖子中提到的現有擴展?
uj5u.com熱心網友回復:
查找下周末的日期很簡單。
let now = Date()
if let timeInterval = cal.nextWeekend(startingAfter: now, direction: .forward) {
let startDate = timeInterval.start
let endDate = timeInterval.end
print(startDate, endDate)
}
nextWeekend(startingAfter:direction:)不回傳特定Date物件。DateInterval相反,它回傳一個物件。
查找任何作業日的下一個日期是一項挑戰。那是因為它可以是星期一、星期二、星期三、星期四或星期五。以下是如何找到下周一。
let cal = Calendar.current
var comps = DateComponents()
comps.weekday = 2
let now = Date()
if let nextMonday = cal.nextDate(after: now, matching: comps, matchingPolicy: .nextTimePreservingSmallerComponents) {
print(nextMonday)
}
,其中 2 表示星期一。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/345899.html
