Как узнать, какой первый день недели? (Понедельник или воскресенье) - PullRequest
0 голосов
/ 02 июля 2018

Я хочу проверить, является ли первый день недели для пользователя понедельником или воскресеньем для выполнения некоторых действий с календарем. Можно ли определить это, используя NSCalendar или любым другим способом?

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Это просто:

Swift

Calendar.current.firstWeekday

Obj-C:

[NSCalendar currentCalendar].firstWeekday

С 1 = воскресенье.

0 голосов
/ 02 июля 2018

Вы можете просто использовать свойство 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)
...