NSDate计算每个星期一

时间:2012-07-31 17:11:42

标签: iphone objective-c xcode nsdate

如何编写代码,每隔X天计算一次。就像每个星期一(或星期四,或其他)从一个NSDate到另一个(今天)计数。 我知道,如何通过检查获得NSDate的日期

    $int weekday = [[NSCalendar currentCalendar]components:NSWeekdayCalendarUnit fromDate:myDate]weekday];

但这有点帮助......

(当然,我可以计算所有日期和/ 7,但这对我正在研究的项目不起作用......)

1 个答案:

答案 0 :(得分:2)

从第一个NSDate开始,到最后一个NSDate结束,运行一个while循环。每次增加一天,检查一天是否等于你想要的那一天。

int counter = 0;
while ([NSDate laterDate:earlyDate:lateDate] == lateDate)
{
     int weekday = [[NSCalendar currentCalendar]components:NSWeekdayCalendarUnit fromDate:earlyDate]weekday];
     if (weekday == desiredWeekday) counter++;
     earlyDate = [earlyDate dateByAddingTimeInterval:3600*24];
}