如何找出一周的第一天? (星期一或星期日)

How to find out what first day of week is? (Monday or Sunday)

我想检查用户一周的第一天是星期一还是星期日以使用日历执行某些操作。是否可以使用 NSCalendar 或任何其他方式确定?

你可以直接使用 firstWeekday 属性…

var calendar = Calendar.current

calendar.locale = Locale(identifier: "en_GB")
print("\(calendar.locale!) starts on day \(calendar.firstWeekday)")
// en_GB starts on day 2

calendar.locale = Locale(identifier: "en_US")
print("\(calendar.locale!) starts on day \(calendar.firstWeekday)")
// en_US starts on day 1

更新

根据@maddy 下面的评论,Calendar.current 将为当前用户设置正确的 locale

let calendar = Calendar.current
print("\(calendar.locale!) starts on day \(calendar.firstWeekday)")
// en_GB starts on day 2 (in my case)

只是:

Swift:

Calendar.current.firstWeekday

Obj-C:

[NSCalendar currentCalendar].firstWeekday

1 = 周日。