获取周开始日不同于星期一的周数 - IOS

Get week number with week start day different than monday - IOS

我想获取与 IOS 中每个日期关联的年份中的周数。我知道我可以使用以下方法获取 ISO 8601 周数:

Calendar.current.component(.weekOfYear, from: Date())

但是如果一周的开始日可以是一周中的任何一天(例如星期日或星期六)怎么办?

用你自己的 firstWeekday:

制作你自己的 Calendar
var calendar = Calendar.current
calendar.firstWeekday = someWeekdayYouLike
calendar.component(.weekOfYear, from: Date())

如果您想使用某些 Locale 的第一个工作日,请改为设置日历的 locale

var calendar = Calendar.current
calendar.locale = Locale(identifier: "en-gb")
print(calendar.firstWeekday) // 2
calendar.locale = Locale(identifier: "en-us")
print(calendar.firstWeekday) // 1