为什么 Calendar.current.firstWeekday == 2?
why is Calendar.current.firstWeekday == 2?
在我的操场上,Calendar.current.firstWeekday == 1,我解释为
"Monday is the first day of the week where I live (Sweden)"
但是当我运行模拟器时,Calendar.current.firstWeekday == 2,我不明白为什么! (在模拟器的settings中我已经将区域设置为"Sweden")。
let c = Calendar.current
print(c) // prints "gregorian"
let first = Calendar.current.firstWeekday // this is 2 !!!
问题: 为什么 Calendar.current.firstWeekday == 2 我该如何解决?
which I interpret as
我相信你的解释是错误的。我不确定框架如何分配星期几,但从你的问题来看,我相信它们是从 1 到 7,其中 1 是星期日,2 是星期一,依此类推。这些是静态的,不会随您的设置而改变。
firstWeekday
属性 告诉您在您的语言环境中一周从哪一天开始。在默认语言环境美国,一周从星期日开始。
你不能"fix this"因为没有错,那个属性是为了给你提供绘制日历时特别有用的信息。
在 playground 中,语言环境默认设置为美国本地化。因此,它说一周的第一天是1/星期日,美国就是这样。
当您 运行 模拟器中的代码已设置为 Sweeden 时,系统会告知您一周的第一天是 2/Monday,瑞典就是这种情况。
差异是由于 playground 默认为美国本地化。如果您希望游乐场像在瑞典一样运行,则必须将其放入代码中。
在我的操场上,Calendar.current.firstWeekday == 1,我解释为
"Monday is the first day of the week where I live (Sweden)"
但是当我运行模拟器时,Calendar.current.firstWeekday == 2,我不明白为什么! (在模拟器的settings中我已经将区域设置为"Sweden")。
let c = Calendar.current
print(c) // prints "gregorian"
let first = Calendar.current.firstWeekday // this is 2 !!!
问题: 为什么 Calendar.current.firstWeekday == 2 我该如何解决?
which I interpret as
我相信你的解释是错误的。我不确定框架如何分配星期几,但从你的问题来看,我相信它们是从 1 到 7,其中 1 是星期日,2 是星期一,依此类推。这些是静态的,不会随您的设置而改变。
firstWeekday
属性 告诉您在您的语言环境中一周从哪一天开始。在默认语言环境美国,一周从星期日开始。
你不能"fix this"因为没有错,那个属性是为了给你提供绘制日历时特别有用的信息。
在 playground 中,语言环境默认设置为美国本地化。因此,它说一周的第一天是1/星期日,美国就是这样。
当您 运行 模拟器中的代码已设置为 Sweeden 时,系统会告知您一周的第一天是 2/Monday,瑞典就是这种情况。
差异是由于 playground 默认为美国本地化。如果您希望游乐场像在瑞典一样运行,则必须将其放入代码中。