有谁知道是否可以在NSCalendar上设置一周的第一天,或者是否有已经将星期一作为一周的第一天而不是星期日的日历。我目前正在开发一个基于一周工作的应用程序,它需要在星期一而不是星期日开始。我很可能会做一些工作来解决此问题,但是会有很多极端情况。我更喜欢平台为我做。提前致谢这是我正在使用的一些代码。现在是星期六,所以我希望工作日将是6,而不是7。这意味着星期日将是7,而不是转到0。NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];[gregorian setFirstWeekday:0];unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekCalendarUnit | NSWeekdayCalendarUnit;NSDateComponents *todaysDate = [gregorian components:unitFlags fromDate:[NSDate date]];int dayOfWeek = todaysDate.weekday;
3 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
此代码构造一个日期,该日期设置为当前星期的星期一:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *today = [NSDate date];
NSDate *beginningOfWeek = nil;
BOOL ok = [gregorian rangeOfUnit:NSWeekCalendarUnit startDate:&beginningOfWeek
interval:NULL forDate: today];
慕桂英4014372
TA贡献1871条经验 获得超13个赞
我认为,此设置应根据用户区域设置是动态的。因此,应使用:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[gregorian setLocale:[NSLocale currentLocale]];
这将导致日历根据用户区域设置自动设置第一个工作日。除非您为特定目的/用户区域设置开发应用程序(或希望允许用户选择这一天)。
- 3 回答
- 0 关注
- 437 浏览
添加回答
举报
0/150
提交
取消