NSCalendar firstWeekday取决于位置问题

时间:2013-05-11 13:44:43

标签: ios cocoa-touch date nscalendar

是否可以根据位置获得第一周。例如,在美国应该说周日。在俄罗斯,它应该在星期一说。

修改:[[NSCalendar currentCalendar] firstWeekday]总是说1,但对于俄罗斯,它应该说2

1 个答案:

答案 0 :(得分:3)

你的假设是错误的。日历不应在美国返回1,在俄罗斯返回2。

首先,设备永远不知道它所在的国家。它需要设备设置中Regional Settings的所有内容。然后,可以通过NSLocale访问区域设置,例如en-US表示应使用USA English设置,包括第一周工作日。

通常,您应该使用[NSLocale defaultLocale]NSCalendarNSDateFormatter和类似的类隐式设置。如果要使用不同的语言/区域设置模拟行为,只需在“设备设置”中更改它们。