今天是Friday
,根据6
NSCalendar
。我可以使用以下
Calendar.current.component(.weekday, from: Date())
如何获得上周Saturday
的工作日组件,该组件应为7
?
如果我Calendar.current.component(.weekday, from: Date()) - 6
。我收到0
这是无效的组件。
答案 0 :(得分:9)
试试这个,您必须先获取日期,然后再从中减去:
var dayComp = DateComponents(day: -6)
let date = Calendar.current.date(byAdding: dayComp, to: Date())
Calendar.current.component(.weekday, from: date!)
答案 1 :(得分:6)
首先,您需要使用calendar.date(byAdding:value:to:)
获取该日期,然后从中获取日期编号。
extension Date {
func getDateFor(days:Int) -> Date? {
return Calendar.current.date(byAdding: .day, value: days, to: Date())
}
}
现在只需使用这样的功能就可以了解你的日子。
if let date = Date().getDateFor(days: -6) {
print(Calendar.current.component(.weekday, from: date))
}
答案 2 :(得分:1)
您可以使用日历和日期组件,并将所有内容放在Date扩展名中,例如:
( Swift 4.1 )
extension Date {
func removing(minutes: Int) -> Date? {
let result = Calendar.current.date(byAdding: .minute, value: -(minutes), to: self)
return result
}
}