【发布时间】:2014-10-09 20:06:03
【问题描述】:
如果 X = 该月开始的星期几(例如,本月为 4,或星期三)
Y = 一个月中的某一天(例如,21)
找到Z,即Y的工作日(1-7)
我认为这会起作用:
Z = (Y-X) % 7
在上面的示例中 Z = (21-4) % 7 = 3,这是正确的(10 月 21 日是星期二)
但 11 月 8 日失败:Z = (8-7) % 7 = 1,不正确,因为 11 月 8 日是星期六(工作日=7)。
那么什么是一个可靠的公式呢?
注意 - 我知道有 NSDate 实用程序可用于查找日期的工作日,但在这种情况下,我只知道上面给出的 X、Y。
【问题讨论】:
-
你不能假设日期是在当年?
-
您可以使用系统时钟/区域设置来获取年份吗?
-
不,我将无法可靠地获得年份信息。我认为给定的 X,Y 应该足够了。
-
试试 (date-1+firstdayofweek) % 7。还要记住 7%7 会给你 0 而不是 7。
标签: ios objective-c nsdate nscalendar