2008-11-12 210 views
1

给定一个星期几(1-7),如何计算该星期几的最后日期?计算一周中某天的日期

例子:今天是周三,2008/11/12,我想知道最后周五的日期为。

回答

1

如果today是一周的​​当天,那么你可以使用类似:

days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7 

这假定周五是一周的日数6代表(即,1代表星期日)。然后从当前日期减去days_since_friday,您将得到上周末的日期。

上面的表达式比它需要的稍微复杂一些。如果你每天的一周开始在0代表星期日,它简化为:

days_since_friday = ((today + 7) - 5) % 7 

days_since_friday = (today + 2) % 7 
+0

是“今天”是星期几还是当月? – lamcro 2008-11-12 22:47:05

4

一般?见Calendrical Calculations

在前一周内的这种较窄的情况下?查找天数差异(星期五= 5,星期三= 3)。发现周的差异(上周= 7天)。当您在天+周内找到偏移量时,将该偏移量应用于日历日期。

相关问题