有誰知道是否可以在NSCalendar上設置一周的第一天,或者是否有已經將星期一作為一周的第一天而不是星期日的日歷。我目前正在開發一個基于一周工作的應用程序,它需要在星期一而不是星期日開始。我很可能會做一些工作來解決此問題,但是會有很多極端情況。我更喜歡平臺為我做。提前致謝這是我正在使用的一些代碼?,F在是星期六,所以我希望工作日將是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 關注
- 463 瀏覽
添加回答
舉報
0/150
提交
取消