小学生日历题怎样算下月一号是星期几?

作者&投稿:当涂从 (若有异议请与网页底部的电邮联系)
怎么推算下月今天是星期几~

怎样计算任一天是星期几---作者葛勤民

摘要:

最常见的公式:

W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D

Y是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天。

最好用的是蔡勒公式:

W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1

C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月要按上一年的13月和14月来算,这时C和y均按上一年取值。

两个公式中的[...]均指只取计算结果的整数部分。算出来的W除以7,余数是几就是星期几。如果余数是0,则为星期日。
---------------------------------------------------------------------------

星期制度是一种有古老传统的制度。据说因为《圣经•创世纪》中规定上帝用了六天时间创世纪,第七天休息,所以人们也就以七天为一个周期来安排自己的工作和生活,而星期日是休息日。从实际的角度来讲,以七天为一个周期,长短也比较合适。所以尽管中国的传统工作周期是十天(比如王勃《滕王阁序》中说的“十旬休暇”,即是指官员的工作每十日为一个周期,第十日休假),但后来也采取了西方的星期制度。

在日常生活中,我们常常遇到要知道某一天是星期几的问题。有时候,我们还想知道历史上某一天是星期几。通常,解决这个方法的有效办法是看日历,但是我们总不会随时随身带着日历,更不可能随时随身带着几千年的万年历。假如是想在计算机编程中计算某一天是星期几,预先把一本万年历存进去就更不现实了。这时候是不是有办法通过什么公式,从年月日推出这一天是星期几呢?

答案是肯定的。其实我们也常常在这样做。我们先举一个简单的例子。比如,知道了2004年5月1日是星期六,那么2004年5月31日“世界无烟日”是星期几就不难推算出来。我们可以掰着指头从1日数到31日,同时数星期,最后可以数出5月31日是星期一。其实运用数学计算,可以不用掰指头。我们知道星期是七天一轮回的,所以5月1日是星期六,七天之后的5月8日也是星期六。在日期上,8-1=7,正是7的倍数。同样,5月15日、5月22日和5月29日也是星期六,它们的日期和5月1日的差值分别是14、21和28,也都是7的倍数。那么5月31日呢?31-1=30,虽然不是7的倍数,但是31除以7,余数为2,这就是说,5月31日的星期,是在5月1日的星期之后两天。星期六之后两天正是星期一。

这个简单的计算告诉我们计算星期的一个基本思路:首先,先要知道在想算的日子之前的一个确定的日子是星期几,拿这一天做为推算的标准,也就是相当于一个计算的“原点”。其次,知道想算的日子和这个确定的日子之间相差多少天,用7除这个日期的差值,余数就表示想算的日子的星期在确定的日子的星期之后多少天。如果余数是0,就表示这两天的星期相同。显然,如果把这个作为“原点”的日子选为星期日,那么余数正好就等于星期几,这样计算就更方便了。

但是直接计算两天之间的天数,还是不免繁琐。比如1982年7月29日和2004年5月1日之间相隔7947天,就不是一下子能算出来的。它包括三段时间:一,1982年7月29日以后这一年的剩余天数;二,1983-2003这二十一个整年的全部天数;三,从2004年元旦到5月1日经过的天数。第二段比较好算,它等于21*365+5=7670天,之所以要加5,是因为这段时间内有5个闰年。第一段和第三段就比较麻烦了,比如第三段,需要把5月之前的四个月的天数累加起来,再加上日期值,即31+29+31+30+1=122天。同理,第一段需要把7月之后的五个月的天数累加起来,再加上7月剩下的天数,一共是155天。所以总共的相隔天数是122+7670+155=7947天。

仔细想想,如果把“原点”日子的日期选为12月31日,那么第一段时间也就是一个整年,这样一来,第一段时间和第二段时间就可以合并计算,整年的总数正好相当于两个日子的年份差值减一。如果进一步把“原点”日子选为公元前1年12月31日(或者天文学家所使用的公元0年12月31日),这个整年的总数就正好是想算的日子的年份减一。这样简化之后,就只须计算两段时间:一,这么多整年的总天数;二,想算的日子是这一年的第几天。巧的是,按照公历的年月设置,这样反推回去,公元前1年12月31日正好是星期日,也就是说,这样算出来的总天数除以7的余数正好是星期几。那么现在的问题就只有一个:这么多整年里面有多少闰年。这就需要了解公历的置闰规则了。

我们知道,公历的平年是365天,闰年是366天。置闰的方法是能被4整除的年份在2月加一天,但能被100整除的不闰,能被400整除的又闰。因此,像1600、2000、2400年都是闰年,而1700、1800、1900、2100年都是平年。公元前1年,按公历也是闰年。

因此,对于从公元前1年(或公元0年)12月31日到某一日子的年份Y之间的所有整年中的闰年数,就等于

[(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400],

[...]表示只取整数部分。第一项表示需要加上被4整除的年份数,第二项表示需要去掉被100整除的年份数,第三项表示需要再加上被400整除的年份数。之所以Y要减一,这样,我们就得到了第一个计算某一天是星期几的公式:

W = (Y-1)*365 + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D. (1)

其中D是这个日子在这一年中的累积天数。算出来的W就是公元前1年(或公元0年)12月31日到这一天之间的间隔日数。把W用7除,余数是几,这一天就是星期几。比如我们来算2004年5月1日:

W = (2004-1)*365 + [(2004-1)/4] - [(2004-1)/100] + [(2004-1)/400] +31+29+31+30+1)
= 731702,

731702 / 7 = 104528……6,余数为六,说明这一天是星期六。这和事实是符合的。

上面的公式(1)虽然很准确,但是计算出来的数字太大了,使用起来很不方便。仔细想想,其实这个间隔天数W的用处仅仅是为了得到它除以7之后的余数。这启发我们是不是可以简化这个W值,只要找一个和它余数相同的较小的数来代替,用数论上的术语来说,就是找一个和它同余的较小的正整数,照样可以计算出准确的星期数。

显然,W这么大的原因是因为公式中的第一项(Y-1)*365太大了。其实,

(Y-1)*365 = (Y-1) * (364+1)
= (Y-1) * (7*52+1)
= 52 * (Y-1) * 7 + (Y-1),

这个结果的第一项是一个7的倍数,除以7余数为0,因此(Y-1)*365除以7的余数其实就等于Y-1除以7的余数。这个关系可以表示为:

(Y-1)*365 ≡ Y-1 (mod 7).

其中,≡是数论中表示同余的符号,mod 7的意思是指在用7作模数(也就是除数)的情况下≡号两边的数是同余的。因此,完全可以用(Y-1)代替(Y-1)*365,这样我们就得到了那个著名的、也是最常见到的计算星期几的公式:

W = (Y-1) + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D. (2)

这个公式虽然好用多了,但还不是最好用的公式,因为累积天数D的计算也比较麻烦。是不是可以用月份数和日期直接计算呢?答案也是肯定的。我们不妨来观察一下各个月的日数,列表如下:

月 份:1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
--------------------------------------------------------------------------
天 数: 31 28(29) 31 30 31 30 31 31 30 31 30 31

如果把这个天数都减去28(=4*7),不影响W除以7的余数值。这样我们就得到另一张表:

月 份:1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
------------------------------------------------------------------------
剩余天数: 3 0(1) 3 2 3 2 3 3 2 3 2 3
平年累积: 3 3 6 8 11 13 16 19 21 24 26 29
闰年累积: 3 4 7 9 12 14 17 20 22 25 27 30

仔细观察的话,我们会发现除去1月和2月,3月到7月这五个月的剩余天数值是3,2,3,2,3;8月到12月这五个月的天数值也是3,2,3,2,3,正好是一个重复。相应的累积天数中,后一月的累积天数和前一月的累积天数之差减去28就是这个重复。正是因为这种规律的存在,平年和闰年的累积天数可以用数学公式很方便地表达:

╭ d; (当M=1)
D = { 31 + d; (当M=2) (3)
╰ [ 13 * (M+1) / 5 ] - 7 + (M-1) * 28 + d + i. (当M≥3)

其中[...]仍表示只取整数部分;M和d分别是想算的日子的月份和日数;平年i=0,闰年=1。对于M≥3的表达式需要说明一下:[13*(M+1)/5]-7算出来的就是上面第二个表中的平年累积值,再加上(M-1)*28就是想算的日子的月份之前的所有月份的总天数。这是一个很巧妙的办法,利用取整运算来实现3,2,3,2,3的循环。比如,对2004年5月1日,有:

D = [ 13 * (5+1) / 5 ] - 7 + (5-1) * 28 + 1 + 1
= 122,

这正是5月1日在2004年的累积天数。

假如,我们再变通一下,把1月和2月当成是上一年的“13月”和“14月”,不仅仍然符合这个公式,而且因为这样一来,闰日成了上一“年”(一共有14个月)的最后一天,成了d的一部分,于是平闰年的影响也去掉了,公式就简化成:

D = [ 13 * (M+1) / 5 ] - 7 + (M-1) * 28 + d. (3≤M≤14) (4)

上面计算星期几的公式,也就可以进一步简化成:

W = (Y-1) + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + [ 13 * (M+1) / 5 ] - 7 + (M-1) * 28 + d.

因为其中的-7和(M-1)*28两项都可以被7整除,所以去掉这两项,W除以7的余数不变,公式变成:

W = (Y-1) + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + [ 13 * (M+1) / 5 ] + d.
(5)

当然,要注意1月和2月已经被当成了上一年的13月和14月,因此在计算1月和2月的日子的星期时,除了M要按13或14算,年份Y也要减一。比如,2004年1月1日是星期四,用这个公式来算,有:

W = (2003-1) + [(2003-1)/4] - [(2003-1)/100] + [(2003-1)/400] + [13*(13+1)/5] + 1
= 2002 + 500 - 20 + 5 + 36 + 1
= 2524;
2524 / 7 = 360……4.这和实际是一致的。

公式(5)已经是从年、月、日来算星期几的公式了,但它还不是最简练的,对于年份的处理还有改进的方法。我们先来用这个公式算出每个世纪第一年3月1日的星期,列表如下:

年份: 1(401,801,…,2001) 101(501,901,…,2101)
--------------------------------------------------------------------
星期: 4 2
====================================================================
年份:201(601,1001,…,2201) 301(701,1101,…,2301)
--------------------------------------------------------------------
星期: 0 5

可以看出,每隔四个世纪,这个星期就重复一次。假如我们把301(701,1101,…,2301)年3月1日的星期数看成是-2(按数论中对余数的定义,-2和5除以7的余数相同,所以可以做这样的变换),那么这个重复序列正好就是一个4,2,0,-2的等差数列。据此,我们可以得到下面的计算每个世纪第一年3月1日的星期的公式:

W = (4 - C mod 4) * 2 - 4. (6)

式中,C是该世纪的世纪数减一,mod表示取模运算,即求余数。比如,对于2001年3月1日,C=20,则:

W = (4 - 20 mod 4) * 2 - 4
= 8 - 4
= 4.

把公式(6)代入公式(5),经过变换,可得:

(Y-1) + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] ≡ (4 - C mod 4) * 2 - 1(mod7). (7)

因此,公式(5)中的(Y-1) + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400]这四项,在计算每个世纪第一年的日期的星期时,可以用(4 - C mod 4) * 2 - 1来代替。这个公式写出来就是:

W = (4 - C mod 4) * 2 - 1 + [13 * (M+1) / 5] + d. (8)

有了计算每个世纪第一年的日期星期的公式,计算这个世纪其他各年的日期星期的公式就很容易得到了。因为在一个世纪里,末尾为00的年份是最后一年,因此就用不着再考虑

计算方法:先算出两个给定日期相距的天数,再用结果除以7。如果有余数,就再原来的基础上加上余数的天数,而后推算;如果没余数,就不变。
例如:今天是2018年5月16日,星期三,那么2018年7月28日是星期几?   
16日这一天不算在内,从5月16日开始算到7月28日
(1)先算两个给定日期相距的天数算有多少天:
5月的天数:31-16=15天;6月的天数30天;7月的天数28天。
一共有几天:15+30+28=73天 。
(2)再用所得天数除以7:
73÷7=10(个星期).....3天 。
(3)余数是几,就再原来的基础上加上余数的天数,
因为16日这一天不算在内,从16日的后面一天开始数几天:星期四、星期五、星期六。
所以2018年7月28日是星期六。

扩展资料:
星期在中国古代称七曜。七曜在中国夏商周时期,是指日、月、及五大行星等七个主要星体,是当时天文星象的重要组织成份。后来借用作七天为一周的时间单位,故称星期。星期,又叫周,是一个时间单位,也是现在制定工作日、休息日的依据。

7天循环一次,看今天到下月一号有多少天,将它除以7,看余数。今天星期几加余数,可得下月一号星期几。


小学生日历题怎样算下月一号是星期几?
7天循环一次,看今天到下月一号有多少天,将它除以7,看余数。今天星期几加余数,可得下月一号星期几。

数学上的挂历问题怎么计算?下午考试,谁知道呀?急!!!
日历是以7天为周期排布的 那么那三个数可以分别设为 n,n+7,n+14 和是3n+21 n取2,4,10可以分别得到和为27,33,51的三组日期。而40不对。

小学一年级星期几的题怎么算
题目中给出的信息包括当前日期和节日,我们可以通过节日来判断是否放假,而星期的计算则可以借助日历。通常情况下,我们可以将当前日期向前推一天,就是明天的日期,再根据日历上的星期排列,找到明天是星期几。所以,答案应该是“星期四”。这样的回答可以确保准确性,同时也能帮助学生建立正确的日期和时间观...

小学三年级计算日历题(要有分析步骤)
一月有31天,31-17=14(天) 包括17的话就是3117+1=15天 2004年能被4整除,是闰年29天 所以共14+29=43(天) 或15+29=44天 6月9日是星期五 4月9日到6月9日有61天。30+31=61 61\/7=8---5 余数为5 所以6月9日星期日开始数五天,就是星期五。

关于翻日历的数学题,我实在是不会,请大家教我!
5天是连续的,也就是等差数列,而且差为1 五天平均数为中间天的日数 即55\/5=11 翻了5天,也就是9 10 11 12 13 ,今天是14 如果是奇数天则直接可以拿总数除以天数,平均数为中间天,如果是偶数,除以天数的一半则为首末日期的和,不知道怎么解释其他的 ...

小学数学,有关日历日期的问题
如果是包含前一个月末的3天,这3天的可能和为81、84、87或者90,还剩下25、28、31或者34。只有28能表示为从1开始的连续正整数之和,因此28+29+30+1+2+3+4+5+6+7可以;如果是包含前一个月末的2天,这2天的可能和为55、57、59或者61,还剩下54、56、58或者60,都不能表示为从1开始的...

初中数学应用 日历问题 请用两种方法解答 方程和算式
规律:设2x2个数第一个数是x那么剩下的数分别,x+1,x+7,x+8.和即为4X+16 任意圈出2x2个数的和是80这四天分别是几号?16,17,23,24 任意圈出3x3个数也一样,设第一数为x,剩下的就是x+1,x+2,x+7,x+8,x+9,x+14,x+15,x+16和即为9x+72 不知你懂没 ...

这道关于日历的数学题怎么做
因为日历上的一竖列上相邻的三个数必为3的倍数(比如1、8、15,为3的倍数。)32不是3的倍数,所以不可能是32.

初一日历的问题
10 11 12 17 18 19 24 25 26 星期三是1号,星期4是二号,星期5是三号,则10号是星期五,其右面只有11(星期六),而12号(星期天)在下一行,所以这个月不能,下个月的10号是星期一,所以能圈出9个数总和为162 2 从左下到右上角的对角线上的三个数字和为45:设这...

有关日历的数学题
1、设星期一为A,则星期二为A+1,依次得星期日为A+6,A+(A+1)+(A+2)...+(A+6)=7A+(1+2+3+4+5+6)=189,计算得A=242、80\/5=16,16-2=14,最少的数是143、设最小数为A,依次可知剩余六数为:A+2,A+4,A+6,A+8,A+10,A+12161=A+(A+2)+(A+4)+(A+6)+(A+8)...

永定县19570707350: 小学三年级如何确定每月1日是星期几的计算方法 -
兴削胃力:[答案] 如果两个日期的差正好是7的倍数,这两个日期的星期数相同.如果有余数,那几星期零几天,就从起始日期的星期几往后推余下的天数.计算天数时,可采用“算头不算尾”或“算尾不算头”.的方法

永定县19570707350: 某月份一共有5个星期天星期一二三四五六都只有4个这个月是几月份?下个月的1号是星期几? -
兴削胃力:[答案] 这个月是二月份,因为根据题意这个月有29天,只能是二月份,29号时肯定是星期天,那下个月的一号就是星期一了.

永定县19570707350: 如下图,一张平年二月的挂历纸不小心被墨水弄污了,只能看见这个月的5号是星期日.你知道下个月的1号是星期几吗? -
兴削胃力:[答案] 平年2月是28天,所以28-5+1=24(天) 24÷7=3周…3天, 星期日,往后推三天是星期三. 答:下个月1日是星期三.

永定县19570707350: 根据挂历推算出下个月1日是星期几 -
兴削胃力: 如果本月是31天,下月第一天是周二

永定县19570707350: 根据日期计算星期几 -
兴削胃力: 很多人都听说过,有人可以通过某一年的某一个具体日期,马上可以算出星期几,其实这个并不难.. 我们计算星期几的方法一共有几个流程: 1.找月份号码 2.日期计算找余 3.余数为星期数 OK,这个总共3个流程(其实2,3年级的小学生就可...

永定县19570707350: 今年5月1日是星期六,明年5月1日是星期几?怎么算的?女儿的题, -
兴削胃力:[答案] 根据天数 365/7=52又1/7 星期6加1即时星期日 当年是366天时就是星期6加2为星期1

永定县19570707350: 某年某月某日星期几的计算方法?简单做法,小学三年级的,谢谢
兴削胃力: 先确定开始的一天是星期几,然后把日期除以7(一周有7天)之后余数是几就从开始的星期几往后数几天就是星期几. 望采纳!!

永定县19570707350: 如何根据日期计算该日期所对应的是星期几 -
兴削胃力: 如何根据日期计算该日期所对应的是星期几? 对于2001年到2099年的各年的十一国庆节和平年的元旦是星期几的公式如下; 20XX年 为 XX+[XX/4]=模化 比如 2017年 XX=17 [17/4]=[4.25]取整为4 17+4=21模化21/7 余0 星期日 这也是蔡勒公式第一部份是这百年定位十一星期,或称为年码. 各月一日的星期关系是;十一的星期加1是五一的星期,加2是八一,加3是三月,十一月一日的星期,加4是六月,加5是九,十二月,加六是四,七月, 平年元旦,国庆节星期相同,二月三月十一月星期相同. 闰年一月四月七月星期相同,二月与八月星期相同. 这也是蔡勒公式后部份代入后处理得到的具体数据.

永定县19570707350: 怎么算每月一号是星期几2015年1月1日是星期几 -
兴削胃力:[答案] 要算星期几,得有已知条件:如2014年1月1日是星期三,那么2015年1月1日是星期几 计算方法:先求出天数,(也就是2014年1月1日过多少天是2015年1月1日:365天) 再求余数,(则365÷7=52周余1天),最后算日期:余数+星期几=1+3=4,...

永定县19570707350: 小学三年级根据年月日推算星期几的简便方法? -
兴削胃力: 计算星期有一个著名的公式:蔡勒公式,随便给一个确定的日期,就能用这个公式推算出是星期几.下面以中华人民共和国成立100周年纪念日那天(2049年10月1日)来计算是星期几,过程如下:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1=49+[49/4]...

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网