NSCalendar一周的第一天

有谁知道是否可以在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;


www说
浏览 741回答 3
3回答

慕莱坞森

此代码构造一个日期,该日期设置为当前星期的星期一:NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];NSDate *today = [NSDate date];NSDate *beginningOfWeek = nil;BOOL ok = [gregorian rangeOfUnit:NSWeekCalendarUnit startDate:&beginningOfWeek                                interval:NULL forDate: today];

蓝山帝景

我认为,此设置应根据用户区域设置是动态的。因此,应使用:NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];[gregorian setLocale:[NSLocale currentLocale]];这将导致日历根据用户区域设置自动设置第一个工作日。除非您为特定目的/用户区域设置开发应用程序(或希望允许用户选择这一天)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS