相当于
range(of:start:interval:for:)
在里面
Calendar
dateInterval(of:start:interval:for:)
不要使用
NSDate
迅速
extension Calendar {
func weekDatesForDate(date: Date) -> (start: Date, end: Date) {
var interval: TimeInterval = 0
var start = Date()
dateInterval(of: .weekOfYear, start: &start, interval: &interval, for: date)
let end = start.addingTimeInterval(interval)
return (start, end)
}
}
DateInterval
作为返回值而不是元组:
extension Calendar {
func weekDatesForDate(date: Date) -> DateInterval {
var interval: TimeInterval = 0
var start = Date()
dateInterval(of: .weekOfYear, start: &start, interval: &interval, for: date)
let end = start.addingTimeInterval(interval)
return DateInterval(start: start, end: end)
}
}