1

今日の日付から日付を計算しようとしています。私が望む日付は、来月、今日からn番目の週の序数とn番目の平日です。私はそれを行うために以下のコードを使用しています。以下のコードの結果は間違っています。今日が 2013 年 3 月 28 日で、来月の第 3 土曜日の日付を探しているとします。代わりに、2013 年 4 月 23 日が表示されます。問題をデバッグできません。私が間違っていることを教えてください。手伝ってくれてありがとう。

NSDate *todayDate = [[NSDate alloc] init]

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [gregorian components:(NSYearCalendarUnit |   NSMonthCalendarUnit |NSDayCalendarUnit| NSWeekCalendarUnit | NSWeekdayOrdinalCalendarUnit | NSWeekdayCalendarUnit | NSWeekOfYearCalendarUnit ) fromDate:todayDate];

NSUInteger todayWeekdayValue = [dateComponents weekday];   
NSUInteger todayWeekdayOrdinal = [dateComponents weekdayOrdinal];

// recurringWeekday  / recurringMonthDay get passed on  from calling function 

NSUInteger nextWeekdayValue = [self getWeekdayValueForWeekdayName:recurringWeekday];
NSUInteger nextWeekdayOrdinal = recurringMonthDay;

[dateComponentsToAdd setMonth:1];
[dateComponentsToAdd setWeekday:nextWeekdayValue - todayWeekdayValue];
[dateComponentsToAdd setWeekdayOrdinal:nextWeekdayOrdinal - todayWeekdayOrdinal];

 NSDate *nextDate = [gregorian dateByAddingComponents:dateComponentsToAdd toDate:todayDate options:0]; 
4

0 に答える 0