关于怎么计算某一年的第一天为周几的问题

怎么计算某一年的第一天为周几

这个问题让我很头疼,通过万能的Google才知道

首先,公元1年的第一天肯定是周一,要计算某年的第一天是周几,只要利用这天与起始天之差,与7求余,然后就能得到了

假设这个程序时输入的年份year,则该年的第一天距离起始天之差为(year-1)*365+闰年的个数

问题转化为求闰年的个数,

大概是每四年一个闰年,但是每一百年要扣除一个闰年,
所以我们得到公元1年到year-1年内的闰年个数是
(year-1)/4-(year-1)/100

但是又扣多了,没400年又要再多一个闰年,
再次修正得到,
(year-1)/4-(year/100)+(year/400)

是这个差与7求余加1

[(year-1)/4-(year/100)+(year/400)+(year-1)*365]%7+1

然后经过一系列的变换

你可能感兴趣的:(关于怎么计算某一年的第一天为周几的问题)