2013-09-05 166 views
-1

我用從星期一開始,星期幾不是星期一?

[currentComps setFirstWeekday:2]; 

它返回一週的開始,週日一天的數量。我應該如何硬編碼從星期一開始返回這個數字?

+0

你的問題不清楚。 'setFirstWeekday:'是'NSCalendar'的方法,而不是'NSDateComponents',所以你的代碼不能編譯。 - 在公曆中,1 =星期日,2 =星期一,......是固定的,你不能改變它。通過'[calendar setFirstWeekday:2]',您可以指定星期一在所有計算中被視爲「星期開始」。這並沒有改變2 =星期一的事實。 –

+0

[NSCalendar星期的第一天]的可能的重複(http://stackoverflow.com/questions/1106943/nscalendar-first-day-of-week) –

回答

0

相反,由馬丁·R上的評論,你可以使用NSCalendar指定一週的通過第一天:

- (void)setFirstWeekday:(NSUInteger)weekday 

讀的NSCalendar的文件,它規定的方法setFirstWeekday:

Sets the index of the first weekday for the receiver.

我還沒有嘗試過這個,但我會假設創建一個NSCalendar的實例,調用上述方法和calli NSDateComponents上的ng setCalendar:會按照您的意願減弱所有返回工作的日期組件。

+1

我不完全確定你的意思是什麼*「...所有日期組件按照您打算的方式返回工作「*,但星期日在** NSDateComponents的'weekDay'屬性(假設公曆日曆)中**總是**表示爲'1'。 - setFirstWeekday:'的目的是確定日曆計算中的「開始時間」,例如'[calendar rangeOfUnit:NSWeekCalendarUnit ...]'來計算一週的開始時間。有些地區認爲星期一是本週的第一天,其他地區的星期天是本週的第一天。但無論如何:週日= 1,週一= 2。 –

相關問題