-1

In my iOS app user can choose on which day to have certain action active and I am saving each selection as a raw value of OptionSet. This all works great.

But I need a way to map current day to the selected options. How can I get some kind of constants for weekdays that do not changed based on whether week starts on Sunday or Monday based on selected locale?

This:

let weekDay = Calendar.current.component(.weekday, from: Date())

Seems like a solution but the Int constant is going to vary right based on a locale? According to very short docs from Apple this should be 1 for Sunday in Gregorian calendar.

Is there any way how I can get weekday from Date that will be always same?

I would like to map these constants to my OptionSet flags and based on that decide whether action should be active in a given day.

Thanks.

Filip
  • 1,824
  • 4
  • 18
  • 37

1 Answers1

2

You are mixing up weekday and firstWeekday.

The weekday component is independent of the locale, in the Gregorian Calendar 1 is always Sunday, 2 Monday etc.

vadian
  • 274,689
  • 30
  • 353
  • 361