给定一个工作日(1-7),我如何计算该工作日的最后日期是什么?
示例:今天是2008 年 11 月 12日星期三,我想知道上周五的日期。
给定一个工作日(1-7),我如何计算该工作日的最后日期是什么?
示例:今天是2008 年 11 月 12日星期三,我想知道上周五的日期。
一般来说?请参阅日历计算。
在前一周的这个较窄的情况下?找出天数的差异(星期五 = 5,星期三 = 3)。以周为单位查找差异(上周 = -7 天)。当您找到以天+周为单位的偏移量时,将该偏移量应用于日历日期。
如果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