【发布时间】:2014-01-08 10:16:11
【问题描述】:
我想以“星期六”或“星期五”作为一年的开始日期来计算周数。给出了年、月和日。有一种算法称为"DoomsDay algorithm",它以星期一为起始日计算周数。
但我没有找到任何用于“星期六”或“星期五”开始日期的算法。
【问题讨论】:
-
我想一些模 7 算术会起作用。
-
你已经标记了这个问题 C++,我很确定那里有
Date类可以给你任何给定日期的 DoW,无论是数字还是字符串,在那之后,它只是 DoW 的 int 表示的模数 + 1 代表星期日,2 代表星期六,3 代表星期五等等。就可以了 -
您可以轻松地从周一到周六或周五重新计算
-
只是,在 JS 中,因为写起来更短,你可以在这里在控制台中测试它:
d = [0,1,2,3,4,5,6]是一个数字 DoW 的数组(0 == 星期一,5 == 星期六) ,重新计算它们在一行中:for(i=0;i<d.length;++i) console.log(d[i] + ' -> ' + (2+(d[i]))%7);