根据年月日计算星期几

合集下载

小学趣味数学——根据年、月、日推算是星期几的公式

小学趣味数学——根据年、月、日推算是星期几的公式

小学趣味数学——根据年、月、日推算是星期几的公式 有时候,想知道公元某年某月某日是星期几,可以用下面的公式算出来:这里的方括号表示只取商的整数部分。

式中:x :这一年是公元多少年。

y :这一天是这一年的第几天。

s :星期几。

不过要先除以7,再取余数。

没有余数是星期日,余数是1、2、3、4、5、6,分别是星期一、星期二、星期三、星期四、星期五、星期六。

比如,2010年国庆节(10月1日)是星期几?x =2010。

y =31+28+31+30+31+30+31+31+30+1=31×5+30×3+28+1=274。

s =2010-1+502-20+5+274=2770,2770÷7余5。

所以,2010年国庆节是星期五。

y x x x x s +⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡--⎥⎦⎤⎢⎣⎡-+-=40011001411如果,你只想知道这个公式怎样用,到这儿就可以了。

而要想知道这个公式的道理是什么,那可就说来话长了。

“星期制”是公元321年3月7日,古罗马皇帝君士坦丁宣布开始实行的,并且规定这一天为星期一。

实际上,就是把公元元年元旦(公元1年1月1日)规定为星期一。

(相当于公式中的x=1,y=1,所以s=1。

)通常1年有365天,365÷7=52……1,就是说比52个星期多1天。

所以,同一个日期,下一年是星期几,就要比上一年向后推1天。

比如,上一年元旦是星期三,下一年元旦就是星期四。

“通常每过1年,把同一日期是星期几向后推1天”,是理解这个公式的关键。

要想知道某年某月某日是星期几,首先,要知道这一年元旦以公元元年元旦是星期一为起点,已经把星期几向后推了多少天,还要知道这一天是这一年的第几天。

而要知道这一年元旦已经把星期几向后推了多少天,可以从公元元年到这一年已经过了多少年算起,先按1年向后推1天计算,再根据闰年的规定进行调整。

闰年的规定是:年份是4的倍数的一般都是闰年,其中,年份是整百数的一般不是闰年,只有年份是400的倍数的才是闰年。

给出年月日,计算星期几--算法及算法来历

给出年月日,计算星期几--算法及算法来历
= 2002 + 500 - 20 + 5 + 36 + 1
= 2524;
2524 / 7 = 360……4.这和实际是一致的。
公式(5)已经是从年、月、日来算星期几的公式了,但它还不是最简练的,对于年份的处理还有改进的方法。我们先来用这个公式算出每个世纪第一年3月1日的星期,列表如下:
因为其中的-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)
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.
(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)
显然,W这么大的原因是因为公式中的第一项(Y-1)*365太大了。其实,

根据日期计算出星期几的几种算法

根据日期计算出星期几的几种算法

根据⽇期计算出星期⼏的⼏种算法由于坑爹的DEV系统未装⾃带函数库不得不在⽹上各处寻觅算法。

⼤概有如下⼏种⽅法:⼀:常⽤公式 W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D Y是年份数,D是这⼀天在这⼀年中的累积天数,也就是这⼀天在这⼀年中是第⼏天。

⼆:蔡勒(Zeller)公式 w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期;c:世纪;y:年(两位数); m:⽉(m⼤于等于3,⼩于等于14,即在蔡勒公式中,某年的1、2⽉要看作上⼀年的13、14⽉来计算,⽐如2003年1⽉1⽇要看作2002年的13⽉1⽇来计算);d:⽇;[ ]代表取整,即只要整数部分。

相⽐于通⽤通⽤计算公式⽽⾔,蔡勒(Zeller)公式⼤⼤降低了计算的复杂度。

三:对蔡勒(Zeller)公式的改进 相⽐于另外⼀个通⽤通⽤计算公式⽽⾔,蔡勒(Zeller)公式⼤⼤降低了计算的复杂度。

不过,笔者给出的通⽤计算公式似乎更加简洁(包括运算过程)。

现将公式列于其下: W=[y/4]+r (y/7)-2r(c/4)+m’+d 公式中的符号含义如下,r ( )代表取余,即只要余数部分;m’是m的修正数,现给出1⾄12⽉的修正数1’⾄12’如下:(1’,10’)=6;(2’,3’,11’)=2;(4’,7’)=5;5’=0;6’=3;8’=1;(9’,12’)=4(注意:在笔者给出的公式中,y为润年时1’=5;2’=1)。

其他符号与蔡勒(Zeller)公式中的含义相同。

四:基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表⽰⽇期中的⽇数,m表⽰⽉份数,y表⽰年数。

注意:在公式中有个与其他公式不同的地⽅: 把⼀⽉和⼆⽉看成是上⼀年的⼗三⽉和⼗四⽉,例:如果是2004-1-10则换算成:2003-13-10来代⼊公式计算。

二年级下册重难点《年月日》三类周期问题解题方法

二年级下册重难点《年月日》三类周期问题解题方法

二年级下册数学重难点《年月日》3类周期问题解题方法一、已知几月几日是星期几,求几月几日是星期几1.1月1日是星期二,1月31日是星期几?(31-1)÷7=4(周)……2(天)2+2=4答:1月31日是星期四2.2月1日是星期六,2月28日是星期几?(28-1)÷7=3(周)……6(天)6+6-7=5答:2月28日是星期五3.4月1日是星期三,求5月1日是星期几?30÷7=4(周)……2(天)3+2=5答:5月1日是星期54.4月1日是星期六,求4月29是星期几?(29-1)÷7=4(周)答:4月29日还是星期六5.5月3日是星期六,求6月3日是星期几?31÷7=4(周)……3(天)6+3-7=2答:6月3日是星期二二、已知某月有几个星期几,求该月1日是星期几1.一月份有5个星期一,5个星期二和5个星期三,1月1日是星期几? 31÷7=4(周)……3(天)答:1月1日是星期一2.3月份有个星期四、5个星期五、5个星期六,3月1日式星期几? 31÷7=4(周)……3(天)答:3月1日是星期四3.4月份有5个星期二,5个星期三,4月1日是星期几?30÷7=4(周)……2(天)答:4月1日是星期二4.6月份有5个星期二,6月1日是星期几期?第一种:30÷7=4(周)……2(天)答:6月1日是星期一或6月1日是星期二第二种:30÷7=4(周)……2(天)答:6月1日是星期一或星期二三、已知今天星期几,求再过几天星期几1.今天是星期二,从今天数起,第32天是星期几?(32-1)÷7=4(周)……3(天)2+3=5答:第32天是星期五2.今天星期三,从今天数起,第47天是星期几?(47-1)÷7=6(周)……4(天)3+4=7答:第47天是星期日3.今天是星期四,从今天数起,第29天是星期几?(29-1)÷7=4(周)答:刚好过了4个星期,所以是星期四4.今天是星期五,从今天数起,第18天是星期几?(18-1)÷7=2(周)……3(天)5+3-7=1答:第18天是星期一5.今天是星期日,再过40天是星期几?40÷7=5(周)……5(天) 7+5-7=5答:再过40天是星期五。

三年级数学年月日之星期计算

三年级数学年月日之星期计算
星期计算:【跨多月不多见,但注意中间月份可以有多个】
第一步计算
第二步计算
同一月:(后面日期-开始日期)÷7
①看余数,余数是几就推几
②算的是过去,用逆推
算的是未来,用顺推
跨一月:(后面日期+开始月份总天数-开始日期)÷7
数-开始日期)÷7
星期计算例子
【同一月】2019年5月21日是星期二,那么5月3日是星期几?5月31日是星期几?
(2+31+30+31-21)÷7=10余3,因为是未来,顺推得6月7日是星期五。
【第一个31指开始的5月总天数,30和第二个31指的是中间的6月和7月总天数】
(7+31-21)÷7=2余3,因为是未来,顺推得6月7日是星期五。【31指开始的5月总天数】
【跨多月】2019年5月21日是星期二,那么3月18日星期几?8月2日是星期几?
(21+31+30-18)÷7=9余1,因为是过去,逆推得3月18日是星期一;
【31指开始的3月总天数,30指中间的4月总天数】
(21-3)÷7=2余4,因为是过去,逆推得5月3日是星期五;
(31-21)÷7=1余3,因为是未来,顺推得5月31日是星期五。
【跨一月】2019年5月21日是星期二,那么4月28日星期几?6月7日是星期几?
(21+30-28)÷7=3余2,因为是过去,逆推得4月28日是星期日;【30指开始的4月总天数】

求星期几的计算公式

求星期几的计算公式

求星期几的计算公式星期几的计算公式。

在日常生活中,我们经常需要知道某一天是星期几,比如安排活动、约会、出行等。

虽然现在手机、电脑等设备都可以直接显示日期和星期,但是了解星期几的计算公式可以帮助我们更好地理解时间的运行规律,也可以在没有设备的情况下快速计算出某一天是星期几。

本文将介绍几种常用的计算公式,希望能帮助大家更好地理解和利用时间。

1. 基本的计算方法。

首先,我们来看一下基本的计算方法。

公元1年1月1日是星期一,这是一个基准点。

接下来,我们可以利用以下规律来计算某一天是星期几:每个平年的1月1日和12月31日都是星期一。

每个闰年的1月1日和12月31日都是星期二。

每个平年的2月28日是星期二,2月29日是星期三。

每个闰年的2月29日是星期四。

有了以上规律,我们可以通过简单的加减运算来计算某一天是星期几。

比如,如果我们知道某一天是2019年5月20日,我们可以先算出2019年1月1日是星期二,然后再计算出5月20日距离1月1日有多少天,最后根据余数来确定星期几。

这种方法虽然比较繁琐,但是在没有工具的情况下也是可行的。

2. 蔡勒公式。

除了基本的计算方法外,还有一种蔡勒公式可以帮助我们快速计算某一天是星期几。

这个公式由德国数学家蔡勒在18世纪提出,经过简单的计算即可得出某一天的星期。

公式如下:\[ \begin{split} h & = q + \left\lfloor \frac{13(m+1)}{5} \right\rfloor + K +\left\lfloor \frac{K}{4} \right\rfloor + \left\lfloor \frac{J}{4} \right\rfloor 2J \end{split} \] 其中,h代表所求的星期几(0代表星期日,1代表星期一,以此类推),q代表月份中的哪一天,m代表月份(3代表3月,4代表4月,1月和2月分别看作上一年的13月和14月),K代表年份的最后两位数,J代表年份的前两位数。

四种周几推算法

四种周几推算法

四种周几(星期几)推算法孙致平编辑一、周数法(主要用周数推算,最易理解的法)举例说明。

题:算2019年10月1日周几。

解:该日公元总天数=》离该日当年且小于当年的闰年数/4*1461+平年数*365+零天数=》2016/4*1461+2*365+273=》737347, 737347/7=》105335周(星期)余2天(737347-105335*7=2)。

答:该日是周二。

二、代码法(主要用月代码推算,适合推算近期的)公式:(日期数+月代码)/4,余几(余0表示周日)就是周几。

月代码:某月最后一天是周几,就是其下月的代码。

例如,2018年12月31日是周一,那么,2019年1月的代码就是1。

例题:算2019年1月31日周几。

解:因为该1月的代码是1,所以,(31+1)/7)=>余4。

答:该日周四。

很容易就推出一年12个月的代码(2019年是144725736146),把它记住了,很快就可算出该年某日是周几。

三、三码法(主要用年月日三码推算,适用年份有限)适用2000年至2099年公式:(日码+月码+年码)/7=》余几,余几就是周几,余0就是周日。

适用1901年至1999年公式:(日码+月码+年码)/7=》余几+1,余几+1的和就是周几,其和是0就是周日。

日码:需要推算的日期数。

月码:闰年512503514624,平年622503514624。

年码:(年后两位/4+年后两位)/7=》余数(年码)。

注:(年后两位)/4取整,后两位数小于4取0。

例1、2000年3月25日周几?解:年码=》(0/4+0)/7=》余0。

故(25+2+0)/7=》余6。

答:该日周六。

例2、2020年2月29日周几?解:年码=》(20/4+20)/7=》余4。

故(29+1+4)/7=》余6。

答:该日周六。

例3、1903年4月27日周几?解:年码=》(3/4+3)/7=》余3。

故(27+5+3)/7=》余0+1=1。

答:该日周一。

三年级数学根据年、月、日推算是星期几的公式

三年级数学根据年、月、日推算是星期几的公式

三年级数学根据年、月、日推算是星期几的公式 有时候,想知道公元某年某月某日是星期几,可以用下面的公式算出来:这里的方括号表示只取商的整数部分。

式中:x :这一年是公元多少年。

y :这一天是这一年的第几天。

s :星期几。

不过要先除以7,再取余数。

没有余数是星期日,余数是1、2、3、4、5、6,分别是星期一、星期二、星期三、星期四、星期五、星期六。

比如,2010年国庆节(10月1日)是星期几?x =2010。

y =31+28+31+30+31+30+31+31+30+1=31×5+30×3+28+1=274。

s =2010-1+502-20+5+274=2770,2770÷7余5。

所以,2010年国庆节是星期五。

如果,你只想知道这个公式怎样用,到这儿就可以了。

而要想知道这个公式的道理是什么,那可就说来话长了。

y x x x x s +⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡--⎥⎦⎤⎢⎣⎡-+-=40011001411“星期制”是公元321年3月7日,古罗马皇帝君士坦丁宣布开始实行的,并且规定这一天为星期一。

实际上,就是把公元元年元旦(公元1年1月1日)规定为星期一。

(相当于公式中的x =1,y =1,所以s =1。

)通常1年有365天,365÷7=52……1,就是说比52个星期多1天。

所以,同一个日期,下一年是星期几,就要比上一年向后推1天。

比如,上一年元旦是星期三,下一年元旦就是星期四。

“通常每过1年,把同一日期是星期几向后推1天”,是理解这个公式的关键。

要想知道某年某月某日是星期几,首先,要知道这一年元旦以公元元年元旦是星期一为起点,已经把星期几向后推了多少天,还要知道这一天是这一年的第几天。

而要知道这一年元旦已经把星期几向后推了多少天,可以从公元元年到这一年已经过了多少年算起,先按1年向后推1天计算,再根据闰年的规定进行调整。

闰年的规定是:年份是4的倍数的一般都是闰年,其中,年份是整百数的一般不是闰年,只有年份是400的倍数的才是闰年。

计算指定年月日是星期几的公式

计算指定年月日是星期几的公式

计算指定年月日是星期几的公式陈渣荒当你想要知道某年某月某日是星期几,手边又无相关资料或工具可查时,本文提供的“计算指定年月日是星期几的公式”,可以帮你即时获得答案。

假设指定的年月日是 abcd年y月r日,则计算这天是星期几的公式为X=7{(r+[(13(y-2)-1)/5]+cd+[cd/4]+[ab/4]-2*ab)/7}. 公式中,X表示星期几;r表示日期;y表示月份;cd与ab分别表示年份数的后面两位与前面两位上的数字;记号[f]与{f}分别表示数值f的整数部分与分数部分,例如[83/7]与{83/7}分别是11与6/7. 要特别注意的是,当月份是1与2时,y-2成为反常值-1与0而使计算结果不正确。

解决方法是把年月作适当变换,即从年份数中减去1年,并把这1年换成12个月,再把这12个月加到月份数中,这样,年月日就换成了(abcd-1)年(y+12)月r日。

用变换后的这个年月日的对应数值进行计算就可以了。

下面举例说明这个公式的具体运用例1 试计算2014年12月31日是星期几解把这个年月日的对应数值代入公式,有X=7{(31+[(13(12-2)-1)/5]+14+[14/4]+[20/4]-2*20)/7}=7{(31+25+14+3+5-40)/7}=7{38/7}=7{5+3/7}=7*3/7=3.即2014年12月31日是星期3.例2 试计算2015年5月1日是星期几解把这个年月日的对应数值代入公式,有X=7{(1+[(13(5-2)-1)/5]+15+[15/4]+[20/4]-2*20)/7}=7{(1+7+15+3+5-40)/7}=7{-9/7}=7{-1-2/7+1-1}=7{-2+5/7}=7*5/7=5. 即2015年5月1日是星期5. 注意:记号{ }中的负值分数必须代换成正值分数后,才可以与7相乘而得到正确结果。

例3 试计算2000年2月29日是星期几解先把年月日换成1999年14月29日,再把它的对应数值代入公式,有X=7{(29+[(13(14-2)-1)/5]+99+[99/4]+[19/4]-2*19)/7}=7{(29+31+99+24+4-38)/7}=7{149/7}=7{21+2/7}=7*2/7=2. 即2000年2月29日是星期2.例4 试计算2026年8月2日是星期几解把题中对应数值代入公式,有X=7{(2+[(13(8-2)-1)/5]+26+[26/4]+[20/4]-2*20)/7}=7{(2+15+26+6+5-40)/7}=7{14/7}=7{2+0/7}=7*0=0. 即2026年8月2日是星期日。

计算周的公式

计算周的公式

计算周的公式周是指一段时间内连续的七天,是时间的基本单位之一。

在日常生活中,我们经常需要计算周数,比如计算工作日、假期、学期等。

那么,如何计算周数呢?本文将介绍几种常见的计算周的公式。

1. 标准周数公式标准周数公式是最简单的计算周数公式,适用于大多数情况。

公式如下:周数 = (日期差 + 第一天是星期几) ÷ 7其中,日期差指的是两个日期之间相差的天数,第一天是星期几指的是起始日期是星期几。

例如,如果要计算从2022年1月1日到2022年1月31日之间的周数,那么日期差为30天,而2022年1月1日是星期六,因此第一天是星期六。

代入公式计算得到:周数= (30 + 6) ÷ 7 = 5因此,从2022年1月1日到2022年1月31日之间共有5周。

2. ISO周数公式ISO周数是指按照国际标准化组织(ISO)制定的周数,它将每年的第一周定义为包含该年的第一个星期四的周。

ISO周数公式如下:周数 = (日期差 + (第一天是星期几 - 1) + 3) ÷ 7其中,日期差和第一天是星期几的含义与标准周数公式相同。

需要注意的是,ISO周数公式中的3表示的是从星期四到周末还有3天,而不是从星期日到周末还有3天。

例如,如果要计算从2022年1月1日到2022年1月31日之间的ISO周数,那么日期差为30天,而2022年1月1日是星期六,因此第一天是星期六。

代入公式计算得到:周数 = (30 + (6 - 1) + 3) ÷ 7 = 5因此,从2022年1月1日到2022年1月31日之间共有5周。

3. Excel周数公式Excel提供了一种方便的计算周数的函数,称为WEEKNUM函数。

WEEKNUM函数的语法如下:=WEEKNUM(日期,[类型])其中,日期表示要计算周数的日期,类型表示周数的类型。

类型有两种取值:1和2。

如果类型为1,则第一周为包含1月1日的那一周,如果类型为2,则第一周为包含1月1日的那一周的第一天为星期一的那一周。

小学数学星期推算方法

小学数学星期推算方法

小学数学星期推算方法
首先,我们需要掌握一个基本的规律,每个月的1号对应的星期几是固定的。

比如,2022年1月1日是星期六,那么2022年2月1日就是星期二,3月1日就
是星期二,依次类推。

通过记住每个月1号对应的星期几,我们就可以快速推算出其他日期对应的星期几了。

其次,我们需要了解每个月的天数。

一般来说,1月、3月、5月、7月、8月、10月、12月是31天,4月、6月、9月、11月是30天,2月平年28天,闰年29天。

掌握了每个月的天数,我们就可以更加准确地推算出某一天是星期几了。

接下来,我们来看一个具体的例子。

比如,我们要计算2022年5月20日是星
期几。

首先,我们知道2022年1月1日是星期六,然后我们根据每个月的天数,
算出5月1日是星期几,然后再依次推算出5月20日是星期几。

通过这样的步骤,我们就可以得出2022年5月20日是星期几了。

除了通过记忆每个月1号的星期几和每个月的天数来推算星期几外,我们还可
以借助一些简便的计算方法。

比如,可以利用模运算的方法来快速计算出某一天是星期几,这需要一定的数学基础,但是一旦掌握了这个方法,就可以在短时间内得出准确的结果。

总的来说,小学数学星期推算方法是一个非常实用的技巧,可以帮助学生在日
常生活中更加方便地安排时间,也可以在数学课堂上展现自巍的计算能力。

通过掌握每个月1号的星期几、每个月的天数以及一些简便的计算方法,我们可以快速准确地推算出某一天是星期几。

希望同学们能够认真学习这个方法,提高自己的数学计算能力。

年月日公式函数公式

年月日公式函数公式

年月日公式是一类用来计算日期的数学函数公式。

它的起源可以追溯到公元前四世纪的一位名叫尼布·康尼吉的数学家。

尼布·康尼吉提出了一个公式,可以根据年、月、日来计算一个日期在星期几。

这个公式被称为“康尼吉公式”,也被广泛应用于日历计算中。

康尼吉公式的数学表达式如下:h = (q + [13(m + 1)/5] + K + [K/4] + [J/4] - 2J) mod 7其中,h为星期几的数值(0代表星期日,1代表星期一,依此类推),q为日期中的天数,m为月份(3代表3月,4代表4月等,1和2被视为前一年的13和14月),K为年份的最后两位数,J为年份的前两位数。

康尼吉公式的推导过程比较复杂,涉及到一些整数除法和取模运算。

但是一旦理解了公式的原理,就可以很容易地应用它来计算日期的星期几。

除了康尼吉公式,还有其他一些类似的年月日公式。

其中比较知名的还有克努特公式和色诺姆公式。

克努特公式是由格雷戈里·奥列格罗维奇·克努特在19世纪提出的。

这个公式可以用来计算一个日期在19年中的第几个周期。

其表达式如下:f = k + [(13m - 1)/5] + D + [D/4] + [C/4] - 2C mod 7其中,f表示星期几的数值(0代表星期日,1代表星期一,依此类推),k为日期中的天数,m为月份(3代表3月,4代表4月等,1和2被视为前一年的13和14月),D为年份的最后两位数,C为年份的前两位数。

克努特公式与康尼吉公式的推导过程相似,都是基于一个循环周期来计算日期的位置。

但是克努特公式的周期为19年,而康尼吉公式的周期为400年。

色诺姆公式是由托马斯·色诺姆在20世纪初提出的。

这个公式可以用来计算闰年。

其表达式如下:s=(1461f)/4+(153m+2)/5+q其中,s为一个整数,表示闰年的天数,f和m的含义与康尼吉公式中相同,q为日期中的天数。

色诺姆公式在计算闰年时非常有用,可以方便地判断一个给定年份是否是闰年。

根据年月日巧算星期几

根据年月日巧算星期几

根据年月日巧算星期几蒲纺二小乐志超王宝山亲爱的读者,如果给你年月日的具体数据,你能很快推算出这一天是星期几吗?笔者在辅导学生数学活动的时候,发现了一个有趣的规律。

现整理出来,供广大数学爱好者参考。

首先说说三个小常识:一、公元元年的元月一日是星期一;二、公元年分平年和闰年,平年每年有365天,闰年每年有366天。

闰年里多出一天放在二月份。

三、根据地球绕太阳转的运行规律,历法学家们规定年份数是4的倍数这一年就是闰年。

但世纪年份数必须是400的倍数的这一年才是闰年。

其他的年份都是平年。

由常识二,我们可以推算出一平年有52星期多一天,一闰年有52星期多两天。

这就可以证明某平年的元旦是星期几,当年的12月31日也一定是星期几。

下一年无论是平年还是闰年,元旦这一天一定是星期几(几+1)。

某闰年的元旦是星期几,当年的12月31日一定是星期(几+1),下一年元旦这天一定是(几+2)。

根据这个结论再联想到常识一和常识三,我们就可以着手计算任意年份的元旦是星期几了。

设已知的年份数为a,把这a年全部按照平年来计算。

因为一平年是52个星期多一天,a年就会多a天。

在a年中,是4的倍数的年份数有[a÷4]个;(这里的[a÷4]表示4除a的整数商,类似的意思相同),是世纪年的年份数有[a÷100]个;是400的倍数的年份数有[a ÷400]个。

如果公元a年是平年,那么从公元元年元月1日到公元a 年的元月1日,一共经过了52(a-1)个星期还多(a+[a÷4]-[a÷100]+[a÷400])天。

如果公元a年是闰年,那么从公元元年的元月1日到公元a年的元月1日,一共经过了52(a-1)个星期还多(a-1+[a ÷4]-[a÷100]+[a÷400])天。

为什么这里会出现“a-1”天呢?这是因为闰年里多出的一天加到二月份,是2月29日这一天,而公元a 年(闰年)的元月1日还没有经过这一天,所以在计算闰年时要减去一天,用“a-1”表示。

蔡勒公式——根据年月日计算星期几

蔡勒公式——根据年月日计算星期几

蔡勒公式——根据年⽉⽇计算星期⼏蔡勒(Zeller)公式,是⼀个计算星期的公式,随便给⼀个⽇期,就能⽤这个公式推算出是星期⼏。

计算公式由于罗马教皇搞了⼀些骚操作,这⾥给出的公式仅适⽤于1582年10⽉15⽇以后的星期,详情可参考符号意义w:星期; w对7取模得:0-星期⽇,1-星期⼀,2-星期⼆,3-星期三,4-星期四,5-星期五,6-星期六c:世纪(注:⼀般情况下,在公式中取值为已经过的世纪数,也就是年份除以⼀百的结果,⽽⾮正在进⾏的世纪,也就是现在常⽤的年份除以⼀百加⼀;不过如果年份是公元前的年份且⾮整百数的话,c应该等于所在世纪的编号,如公元前253年,是公元前3世纪,c就等于-3)y:年(⼀般情况下是后两位数,如果是公元前的年份且⾮整百数,y应该等于cMOD100+100)m:⽉(m⼤于等于3,⼩于等于14,即在蔡勒公式中,某年的1、2⽉要看作上⼀年的13、14⽉来计算,⽐如2003年1⽉1⽇要看作2002年的13⽉1⽇来计算)d:⽇[ ]代表取整,即只要整数部分。

C语⾔代码int Calculate_Week( int year , int month, int day ){int c,y,week;if (month == 1 || month == 2)year--, month += 12;c = year / 100;y = year - c * 100;week = y + y / 4 + c / 4 - 2 * c + 26 * (month + 1) / 10 + day - 1;while (week < 0)week += 7;week %= 7;return week;}吐槽返回值0代表星期⽇。

星期的计算公式范文

星期的计算公式范文

星期的计算公式范文
1.按照日历周历法计算星期:
日历周历法是最常用的日期计算方法,以一周七天为周期,星期一为
起始点。

按照这种方法,星期的计算公式为:
星期=(日期的天数-1)÷7+1
其中,日期的天数是指从年的1月1日开始计算,到指定日期的天数。

例如,计算2024年5月15日是星期几:
所以,2024年5月15日是星期二
2.按照ISO周历法计算星期:
ISO周历法是按照国际标准化组织(ISO)制定的一种日期计算方法,以一周七天为周期,星期一为起始点。

按照这种方法,星期的计算公式为:星期=(日期的天数-星期减数)÷7+1
其中,星期减数是指离最接近的星期一的天数。

通常,星期减数为3
或4、如果星期减数为3,那么星期减数就是指距离最近的上一个星期一
的天数;如果星期减数为4,那么星期减数就是指距离最近的上一个星期
四的天数。

例如,计算2024年5月15日是星期几:
星期减数=3
所以,2024年5月15日是星期日。

需要注意的是,不同地区可能采用不同的计算方法来确定星期,所以上述公式仅适用于按照日历周历法或ISO周历法计算星期的情况。

总结起来,计算星期的公式可以分为按照日历周历法计算和按照ISO 周历法计算两种方式,根据具体的需求和地区的习惯来选择适合的公式。

给出年月日计算星期几

给出年月日计算星期几
D = [ 13 * (5+1) / 5 ] - 7 + (5-1) * 28 + 1 + 1
= 122,
这正是5月1日在2004年的累积天数。
假如,我们再变通一下,把1月和2月当成是上一年的“13月”和“14月”,不仅仍然符合这个公式,而且因为这样一来,闰日成了上一“年”(一共有14个月)的最后一天,成了d的一部分,于是平闰年的影响也去掉了,公式就简化成:
= 2002 + 500 - 20 + 5 + 36 + 1
= 2524;
2524 / 7 = 360……4.这和实际是一致的。
公式(5)已经是从年、月、日来算星期几的公式了,但它还不是最简练的,对于年份的处理还有改进的方法。我们先来用这个公式算出每个世纪第一年3月1日的星期,列表如下:
年份: 1(401,801,…,2001) 101(501,901,…,2101)
显然,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的余数。这个关系可以表示为:
【转】给出年月日,计算星期几--算法及算法来历最常见的公式:
W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D
Y是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档