こんにちは、firstWeekDay の設定に問題があります。
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
comp = [gregorian components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekCalendarUnit | NSWeekdayCalendarUnit) fromDate:targetDate];
[comp setWeekday:2];
NSDate *firstWeekDay = [gregorian dateFromComponents:comp];
2011 年 1 月 1 日土曜日が targetDate の場合、カレンダーの firstWeekDay は 2011 年 12 月 26 日の月曜日に見えますが、実際には 2010 年 12 月 26 日の月曜日のはずです。どうすれば正しくできますか?