【发布时间】:2020-07-08 08:00:02
【问题描述】:
我知道如何计算两个日期范围之间的总周数。
func calculateNoOfWeeksWith(startDate: Date, endDate: Date) -> Int {
let calendar = Calendar.current
let dateFrom = calendar.startOfDay(for: startDate)
let dateTo = calendar.startOfDay(for: endDate)
let components = calendar.dateComponents([.weekOfYear], from: dateFrom, to: dateTo)
return components.weekOfYear ?? 0
}
我也知道如何计算一年中的当前周数(今天)。
let calendar = Calendar.current
let weekOfYear = calendar.component(.weekOfYear, from: Date.init(timeIntervalSinceNow: 0))
print(weekOfYear)
但是如何计算两个日期范围而不是一年之间的当前周数(今天)?
我的意思是,如果我选择 2020-03-27 和 2020-09-07 之间的日期,它将返回 25 周。但是如果我想知道本周的周数是多少,那我们该怎么做呢?
【问题讨论】:
-
计算开始日期 (w1) 和当前日期 (w2) 的周数并减去它们,w2-w1(如果您希望第一周为 1 而不是 0,则加 1)。
-
谢谢。它奏效了。
标签: ios swift nsdatecomponents