Iphone 如何计算两个日期之间有多少个星期日?

Iphone 如何计算两个日期之间有多少个星期日?,iphone,Iphone,我已经得到了这些数据,非常简单: NSInteger numWeeks = ...; NSInteger weekdayOfDateA = ...; // i.e. 1 for Sunday NSInteger weekdayOfDateB = ...; // i.e. 6 for Friday 从逻辑的角度来看,我可以放心地假设numWeeks的每个星期都有一个星期天,对吗 所以numWeeks已经代表了我的周日数。差不多 但我如何处理边缘案例?i、 e.如果dateA开始于周三,而date

我已经得到了这些数据,非常简单:

NSInteger numWeeks = ...;
NSInteger weekdayOfDateA = ...; // i.e. 1 for Sunday
NSInteger weekdayOfDateB = ...; // i.e. 6 for Friday
从逻辑的角度来看,我可以放心地假设numWeeks的每个星期都有一个星期天,对吗

所以numWeeks已经代表了我的周日数。差不多

但我如何处理边缘案例?i、 e.如果dateA开始于周三,而dateB结束于周一,则不一定是完整的一组周。可能要10个半星期左右。问题是:间隔的哪一部分可以安全地忽略,因为它已经被numweek“吸进”了


我想NSCalendar&Co.会从第一次约会开始考虑,每周只计算7天。那么,我唯一需要关心的是这段时间的最后一个尾声吗?

将你的一周想象为从周一开始,到周日结束。确定你有多少周的时间——每个星期都有一个星期日——在确定这一点时(你可能希望通过滚动(例如,将开始时间向前滚动到第一个星期一),如果你经过一个星期日,则在结果上加1