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

时间:2010-07-10 14:54:35

标签: iphone

我已经掌握了这些数据,非常简单:

NSInteger numWeeks = ...;
NSInteger weekdayOfDateA = ...; // i.e. 1 for Sunday
NSInteger weekdayOfDateB = ...; // i.e. 6 for Friday

从逻辑的角度来看,我可以放心地假设numWeeks每周都有一个星期天,对吗?

所以numWeeks代表了我的周日数。几乎。

但我如何处理边缘情况?即如果dateA在星期三开始,而dateB在星期一结束,则必须不一定是完整的一周。这可能是10个半星期或者什么的。问题是:可以安全地忽略区间的哪一部分,因为它已被numWeeks“吸入”了?

我猜NSCalendar&公司开始查看第一个日期,每周只计算7天。那么我唯一需要关心的是那段时间的尾巴吗?

1 个答案:

答案 0 :(得分:1)

想想你的几周开始,例如周一,周日结束。确定你拥有的这几周的数量 - 每个星期几你都有 - 确定这个(你可能想通过滚动例如从第一个星期一开始前进),如果你经过一个星期日加1结果。