根据公历日期计算星期的公式
日历查询的算法如何计算某一天是星期几
⽇历查询的算法如何计算某⼀天是星期⼏—— 蔡勒(Zeller)公式历史上的某⼀天是星期⼏?未来的某⼀天是星期⼏?关于这个问题,有很多计算公式(两个通⽤计算公式和⼀些分段计算公式),其中最著名的是蔡勒(Zeller)公式。
即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:⽉(m⼤于等于3,⼩于等于14,即在蔡勒公式中,某年的1、2⽉要看作上⼀年的13、14⽉来计算,⽐如2003年1⽉1⽇要看作2002年的13⽉1⽇来计算);d:⽇;[ ]代表取整,即只要整数部分。
(C是世纪数减⼀,y是年份后两位,M是⽉份,d是⽇数。
1⽉和2⽉要按上⼀年的13⽉和 14⽉来算,这时C和y 均按上⼀年取值。
)算出来的W除以7,余数是⼏就是星期⼏。
如果余数是0,则为星期⽇。
以2049年10⽉1⽇(100周年国庆)为例,⽤蔡勒(Zeller)公式进⾏计算,过程如下:蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1=49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1=49+[12.25]+5-40+[28.6]=49+12+5-40+28=54 (除以7余5)即2049年10⽉1⽇(100周年国庆)是星期5。
你的⽣⽇(出⽣时、今年、明年)是星期⼏?不妨试⼀试。
不过,以上公式只适合于1582年10⽉15⽇之后的情形(当时的罗马教皇将恺撒⼤帝制订的儒略历修改成格⾥历,即今天使⽤的公历)。
星期制度是⼀种有古⽼传统的制度。
据说因为《圣经·创世纪》中规定上帝⽤了六天时间创世纪,第七天休息,所以⼈们也就以七天为⼀个周期来安排⾃⼰的⼯作和⽣活,⽽星期⽇是休息⽇。
从实际的⾓度来讲,以七天为⼀个周期,长短也⽐较合适。
所以尽管中国的传统⼯作周期是⼗天(⽐如王勃《滕王阁序》中说的“⼗旬休暇”,即是指官员的⼯作每⼗⽇为⼀个周期,第⼗⽇休假),但后来也采取了西⽅的星期制度。
给出年月日,计算星期几--算法及算法来历
= 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太大了。其实,
利用公式计算某一天是星期几?
利用公式计算某一天是星期几?
如果忘了今天是星期几,怎么办?可以查看手机,因为手机带有日期功能(万年历)。
但是,手机的万年历只能查询前后几十年的时间。
如果想知道数百年前或者数百年后某一天是星期几?又该怎么办?下面介绍两种方法(公式),只需要知道具体的日期(阳历),就可以很快推导出这一天是星期几?
第一种方法(公式):
其中:[]是取整运算即截取该数的整数部分,mod是求余运算;
W:星期,0~6分别对应星期日、星期一、星期二、星期三、星期四、星期五、星期六;
c:年份的前两位数字;
y:年份的后两位数字;
m:月份(注意:3≤m≤14,即某一年的1月和2月要使用上一年的13月和14月来计算,如1989年2月6日要看作是1988年14月6日,对应的值分别是c=19,y=88,m=14,d=6);
d:日期。
如果时间是在1582年10月4日或之前,公式则为:
比如要推导2018年11月22日(c=20,y=18,m=11,d=22)
是星期几?
计算:
即2018年11月22日是星期四。
第二种方法(公式):
其中:[]是取整运算即截取该数的整数部分,mod是求余运算;
W表示星期,0~6分别对应星期日、星期一、星期二、星期三、星期四、星期五、星期六;
Y表示年份;
D表示这一天在该年中是第几天。
比如:要推导2018年11月22日是星期几?
计算:
Y=2018
D=31+28+31+30+31+30+31+31+30+31+22=326
即2018年11月22日是星期四。
计算某天是星期几
计算某天是星期几(含六个例程)计算某天是星期几,最常见的公式: W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D Y是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天。
计算某天是星期几,最常见的公式:W=[Y-1]+[(Y-1)/4]-[(Y-1)/100]+[(Y-1)/400]+DY是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天。
最好用的是蔡勒公式:W=[C/4]-2C+y+[y/4]+[13*(M+1)/5]+d-1C是世纪数减一,y是年份后两位,M是月份,d是日数。
1月和2月要按上一年的13月和14月来算,这时C和y均按上一年取值。
两个公式中的[...]均指只取计算结果的整数部分。
算出来的W除以7,余数是几就是星期几。
如果余数是0,则为星期日。
星期制度是一种有古老传统的制度。
据说因为《圣经〃创世纪》中规定上帝用了六天时间创世纪,第七天休息,所以人们也就以七天为一个周期来安排自己的工作和生活,而星期日是休息日。
从实际的角度来讲,以七天为一个周期,长短也比较合适。
所以尽管中国的传统工作周期是十天(比如王勃《滕王阁序》中说的“十旬休暇”,即是指官员的工作每十日为一个周期,第十日休假),但后来也采取了西方的星期制度。
在日常生活中,我们常常遇到要知道某一天是星期几的问题。
有时候,我们还想知道历史上某一天是星期几。
通常,解决这个方法的有效办法是看日历,但是我们总不会随时随身带着日历,更不可能随时随身带着几千年的万年历。
假如是想在计算机编程中计算某一天是星期几,预先把一本万年历存进去就更不现实了。
这时候是不是有办法通过什么公式,从年月日推出这一天是星期几呢?答案是肯定的。
其实我们也常常在这样做。
我们先举一个简单的例子。
比如,知道了2004年5月1日是星期六,那么2004年5月31日“世界无烟日”是星期几就不难推算出来。
计算星期几的方法
计算星期几的方法计算任何一个日期是星期几的方法蔡勒公式W = [C/4] - 2C + y + [y/4] + [13 X(M+1) / 5] + d - 1 C是世纪数减1 , y是年份后两位,M是月份(从3月开始,1月和2月要按上一年的13月和14月来算,这时C和y 均按上一年取值),d 是日数。
求出W的值,再除以7,余几就是星期几,余数为0,则是星期天。
注意:[…]表示只取整数部分注意:公式中如计算得出负数,不能按习惯的余数的概念求余数,只能按数论中的余数的定义求余。
为了方便计算,我们可以给它加上一个7的整数倍,使它变为一个正数,比如加上7、14、21、28等,得到一个整数后,再除以7,余几,说明这一天是星期几。
例1 : 2004年的9月1日是星期几?C=20 y=04 M=9 d=1W = [C/4] - 2C + y + [y/4] + [13 x(M+1) / 5] + d - 1 =[20/4] - 2 X20 + 04 + [04/4] + [13 X(9 + 1 ) /5] + 1=5 - 40 + 4 + 1 + [13 X2] + 1 - 1=5 - 40 + 4 + 1 + 26 + 1 - 1=—4W为负数不行,加7的倍数14,得10。
10除以7,余数为3 , 2004年的9月1日是星期三。
例2 : 2010年的7月15日是星期几?C=20 y=10 M=7 d=15W = [C/4] - 2C + y + [y/4] + [13 x(M+1) / 5] + d - 1 =[20/4] — 2 X20 + 10 + [10/4] + [13 X(7 + 1 ) /5] + 15 —1=5 —40 + 10 + 2 + [13 X8/5] + 14=—23 + 20 + 14=1111除以7余数为4, 2010年的7月15日是星期四。
链接:1世纪为100年2000年以后为21世纪,以此类推1个年代为10年90-99为90年代,以此类推!女口:1900年是19世纪、1901年是20世纪、2000年是20世纪、2001年是21世纪。
计算任何一个日期的星期数
星期数的计算懂得公历日期变化规律的人都可以将一个日期的星期数计算出来,如果不知道正确的方法可能会很是麻烦。
现在我们给出一个方便的计算星期数的公式,为此首先规定:星期日=0,星期一=1,星期二=2,星期三=3,星期四=4,星期五=5,星期六=6另外注意闰年比平年多加的一天不是年头也不是年尾,而是在2月29日,所以为了计算方便,我们把3月作为一年的第一个月,4月作为一年的第二个月……而1月、2月则分别为去年的第十一个月和第十二个月。
作了这样的规定之后,1997年7月1日就要写为1997年“5月”1日,2000年1月2日就要写为1999年“11月”2日。
现在假定给出一个日期:N年m月d日(年份N=100c+y,其中c为世纪数,y为年代数),则该日期的星期数W=d+[ (13m-1)]+y+[ y]+[ c]-2c(mod7)其中方括号表示不超过这个数的最大整数,mod为数学符号,如a(modb)表示一个数,此数在0到b范围内(若b小于零,则在b到0范围内),若a∈[0,b),则a(modb) =a,若a不在0到b范围内,则a(modb)等于a加或减b的整数倍后处于0到b范围内的一个值。
这里值得注意的是,目前国际通用的公历是教皇格里高利十三实行的。
当时他召集了很多学者和僧侣讨论历法改革问题,决定采用业余天文学家利里奥的方案,没四百年去掉三个闰日。
公元1582年格里高利颁发改历的命令:(1)把1582年10月4日后的一天改为1582年10月25日;(2)那些世纪数不能被4整除的世纪年,如1700、1800、1900、2100、……不再作为闰年,仍算为平年。
这两条规定至为重要,第一条规定实质上把春分固定在3月21日左右,解决了日历与天时不符合的矛盾,第二条规定使历法的精度大大提高,保证了这种历法在相当长的时间里仍能实用。
根据这项规定,每400年中有97个闰年,总天数为365×400+97=146097(天)因此平均每年的长度为146097÷400=365.2425(天)这与回归年实际值365.2422天相差仅有0.0003天,换句话说,要经过3300多年,两者才有一天的相差。
知道公历日期计算星期
知道公历日期计算星期:
黄远珦
随便给一个日期,就可以推算出是星期几。
计算方法如下:模拟数除以7的余数就是星期数(星期几) 模拟数= [世纪/4] - 2乘以世纪+ 年份+ [年份除以4] + [13 乘以(月份+1) / 5] + 当月天数- 1 可以用公示来表示; Q = [S/4] - 2S + N + [N/4] + [13 * (y+1) / 5] + t - 1 公式中的符号含义如下: Q:星期;(Q对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六)S:世纪(前两位数)N:年(后两位数)y:月(y大于等于3,小于等于14,即在本公式中,某年的1、2月要看作上一年的13、14月来计算,比如2018年1月1日要看作2017年的13月1日来计算)t:日[ ]代表取整,即只要整数部分。
如何计算星期几的简单公式?
如何计算星期⼏的简单公式?问题:设当⽇ T 的⽇期是公元 y 年 m ⽉ d ⽇,求 T 是星期⼏?为了⽅便,我们⽤ 0 到 6 的整数表⽰星期,0 表⽰星期⽇,1 到 6 分别表⽰星期⼀到星期六。
(注:以下解答只适⽤于格⾥⾼利历。
)设 T 是星期 w,公元1年1⽉1⽇的前⼀天是 Z₀,Z₀是星期 w₀,T 距离 Z₀过了 S 天,于是有:w = (w₀ + S) mod 7 ①其中,mod 为 (w₀ + S) 除以 7 的余数。
⽽S = D' + D其中, D' 为 y 年 1 ⽉ 1 ⽇的前⼀天 Z 距离 Z₀的累积天数,D 为 T 在 y 年内的累积天数。
显然,Z 距离 Z₀刚好是过了 y - 1 年。
考虑⼀个平年有 365 天,再考虑闰年规定:普通闰年:能被 4 整除但不能被 100 整除的年份为普通闰年;世纪闰年:能被 400 整除的为世纪闰年,则D’ = 365(y-1) + [(y-1)/4] - [(y-1)/100] + [(y-1)/400],其中 [x] 表⽰取 x 的整数部分。
注:[x + 1/2] 就是对 x 四舍五⼊。
当 T 为公元2019年1⽉1⽇时,D = 1,D‘ = 737059,查⽇历知道公元2019年1⽉1⽇是星期⼆,即,w = 2 带⼊①有:2 = (w₀ + 737059 + 1) mod 7 = (w₀ + 737058 + 1 + 1) mod 7 = (w₀ + 105294 ×7 + 2) mod 7 = (w₀ + 2) mod 7求得:w₀ = 0⽽:(365(y-1)) mod 7 = (364(y-1) + (y-1)) mod 7 = (52×7(y-1) + (y-1)) mod 7 = (y-1) mod 7所有最终①简化为:w = ((y-1) + [(y-1)/4] - [(y-1)/100] + [(y-1)/400] + D) mod 7 ②接下来,需要计算年内累积天数 D。
根据年月日推算是星期几的公式
根据年月日推算是星期几的公式有时候,想知道公元某年某月某日是星期几,可以用下面的公式算出来:这里的方括号表示只取商的整数部分。
式中: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年国庆节是星期五。
如果,你只想知道这个公式怎样用,到这儿就可以了。
而要想知道这个公式的道理是什么,那可就说来话长了。
“星期制”是公元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的倍数的一般都是闰年,其中,年份是整百数的y x x x x s +⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡--⎥⎦⎤⎢⎣⎡-+-=40011001411一般不是闰年,只有年份是400的倍数的才是闰年。
万年历公立计算方法
元旦到5月1日经过的天数。第二段比较好算,它等于21*365+5=7670天,之所以要加
5,是因为这段时间内有5个闰年。第一段和第三段就比较麻烦了,比如第三段,需要把
5月之前的四个月的天数累加起来,再加上日期值,即31+29+31+30+1=122天。同理,第
的差值,余数就表示想算的日子的星期在确定的日子的星期之后多少天。如果余数是
0,就表示这两天的星期相同。显然,如果把这个作为“原点”的日子选为星期日,那
么余数正好就等于星期几,这样计算就更方便了。
但是直接计算两天之间的天数,还是不免繁琐。比如1982年7月29日和2004年5月
1日之间相隔7947天,就不是一下子能算出来的。它包括三段时间:一,1982年7月29
公式变成:
W = (Y-1) + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + [ 13 * (M+1) / 5 ] + d.
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54 (除以7余5)
即2049年10月1日(100周年国庆)是星期5。
你的生日(出生时、今年、明年)是星期几?不妨试一试。
不过,以上公式只适合于1582年10月15日之后的情形(当时的罗马教皇将恺撒大帝制订的儒略历修改成格里历,即今天使用的公历)。
公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。(C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值。)
新编万年历星期速算法
新编万年历星期速算法推导过程:1。
平年365天(52周+1天),闰年366天(52周+2天)。
平年2月28天,闰年2月29天。
由于公元1月1日设为星期六,故3月1日为星期三。
——注意这个“三”为使算法达到最简,故本算法以“星期”为计算单位。
且选3月1日为基月。
2。
每400年整一闰,或每4年且不为百年的一闰。
百年%4=0闰或(年%4=0并且年<>0)闰。
3。
每4年(3个平年+1个闰年)共208周+5天——注意这个“5天”每百年共100*(208周+5天)-1天=5217周+5天——注意这个“5天”(整百年暂设为平年)每400年共4*(5217周+5天)+1天(整400年闰)=20871周+0天——注意这个“0天”和“1天”(4个整百年只有一个闰年)即400年一轮回!(原来万年历400年前是一家)4。
万年3月1日星期算法(记住那个三)公式:某年3月1日星期几=(3天+百年%4*5天+年/4*5天+年%4+月星期表+日-1天)%7 某年3月1日星期几=(百年%4*5天+年/4*5天+年%4+月星期表+日+2天)%7或某年3月1日星期几=(百年%4*5天+年+年/4+月星期表+日+2天)%7闰4百年3月1日星期算法(百年%4=0)公式:某年3月1日星期几=(年+年/4+月星期表+日+2天)%7例:0000年3月1日星期几=(0+0/4+0+1+2)%7=3%7=星期三1600年3月1日星期几=(0+0/4+0+1+2)%7=3%7=星期三2000年3月1日星期几=(0+0/4+0+1+2)%7=3%7=星期三2001年3月1日星期几=(1+1/4+0+1+2)%7=4%7=星期四2004年3月1日星期几=(4+4/4+0+1+2)%7=8%7=星期一2008年3月1日星期几=(8+8/4+0+1+2)%7=13%7=星期六2042年3月1日星期几=(42+42/4+0+1+2)%7=55%7=星期六平4百年3月1日星期算法(百年%4<>0)公式:某年3月1日星期几=(百年%4*5天+年+年/4+月星期表+日+2天)%7例:1700年3月1日星期几=(17%4*5+0+0/4+0+1+2)%7=8%7=星期一(注意:1700年是平年)1800年3月1日星期几=(18%4*5+0+0/4+0+1+2)%7=13%7=星期六(注意:1800年是平年)1900年3月1日星期几=(19%4*5+0+0/4+0+1+2)%7=18%7=星期四(注意:1900年是平年)1901年3月1日星期几=(19%4*5+1+1/3+0+1+2)%7=19%7=星期五1918年3月1日星期几=(19%4*5+18+18/4+0+1+2)%7=(15+22+3)%7=40%7=星期五1958年3月1日星期几=(19%4*5+58/4*5+58%4+3)%7=(15+70+2+3)%7=90%7=星期六1988年3月1日星期几=(19%4*5+88/4*5+88%4+3)%7=(15+110+0+3)%7=128%7=星期二1999年3月1日星期几=(19%4*5+99/4*5+99%4+3)%7=(15+120+3+3)%7=141%7=星期一2100年3月1日星期几=(21%4*5+0/4*5+0%4+3)%7=(5+0+0+3)%7=8%7=星期一(注意:2100年是平年)2101年3月1日星期几=(21%4*5+1/4*5+1%4+3)%7=(5+0+1+3)%7=9%7=星期二2102年3月1日星期几=(21%4*5+2/4*5+2%4+3)%7=(5+0+2+3)%7=10%7=星期三2103年3月1日星期几=(21%4*5+3/4*5+3%4+3)%7=(5+0+3+3)%7=11%7=星期四2104年3月1日星期几=(21%4*5+4/4*5+4%4+3)%7=(5+1+0+3)%7=9%7=星期二(注意:2104年是闰年)9999年3月1日星期几=(99%4*5+99/4*5+99%4+3)%7=(120+15+3+3)%7=141%7=星期一注:按400年一轮回!(400年前是一家)的说法1600年,2000年是一样的1700年,2100年是一样的1800年,2200年是一样的1900年,2300年是一样的所以,万年历实际上是骗人的,应该叫“四百年历”才是。
计算星期几的方法
计算星期几的方法计算任何一个日期是星期几的方法蔡勒公式W = [C/4] - 2C + y + [y/4] + [13×(M+1) / 5] + d - 1 C是世纪数减1,y是年份后两位,M是月份(从3月开始,1月和2月要按上一年的13月和14月来算,这时C和y 均按上一年取值),d是日数。
求出W的值,再除以7,余几就是星期几,余数为0,则是星期天。
注意:[...]表示只取整数部分注意:公式中如计算得出负数,不能按习惯的余数的概念求余数,只能按数论中的余数的定义求余。
为了方便计算,我们可以给它加上一个7的整数倍,使它变为一个正数,比如加上7、14、21、28等,得到一个整数后,再除以7,余几,说明这一天是星期几。
例1:2004年的9月1日是星期几?C=20 y=04 M=9 d=1W = [C/4] - 2C + y + [y/4] + [13×(M+1) / 5] + d - 1 =[20/4]-2×20+04+[04/4]+[13×(9+1)/5]+1-1=5-40+4+1+[13×2]+1-1=5-40+4+1+26+1-1=-4W为负数不行,加7的倍数14,得10。
10除以7,余数为3,2004年的9月1日是星期三。
例2:2010年的7月15日是星期几?C=20 y=10 M=7 d=15W = [C/4] - 2C + y + [y/4] + [13×(M+1) / 5] + d - 1 =[20/4]-2×20+10+[10/4]+[13×(7+1)/5]+15-1=5-40+10+2+[13×8/5]+14=-23+20+14=1111除以7余数为4,2010年的7月15日是星期四。
链接:1世纪为100年,2000年以后为21世纪,以此类推1个年代为10年,90-99为90年代,以此类推!如:1900年是19世纪、1901年是20世纪、2000年是20世纪、2001年是21世纪。
周历转换公式
周历转换公式周历转换公式是指将一个日期转换为对应的周数和星期几的计算方法。
它是一种常用的日期计算工具,能够方便地将日期转换为周数和星期几,对于一些需要按周计算的工作或学习安排非常有用。
周历转换公式的原理是根据给定的日期,计算出该日期与某个基准日期之间的天数差,然后根据天数差来计算对应的周数和星期几。
具体而言,周历转换公式的计算步骤如下:1. 确定基准日期:周历转换公式中需要指定一个基准日期,一般选择一个已知的日期作为基准日期,比如某个特定的周一。
这个基准日期将被用作计算其他日期的参考点。
2. 计算天数差:给定一个日期,首先需要计算这个日期与基准日期之间的天数差。
可以通过两个日期之间的天数差来计算,或者根据年、月、日的差值来计算。
计算出的天数差可以是正数、负数或零,分别表示给定日期在基准日期之后、之前或与基准日期相同。
3. 计算周数和星期几:根据天数差,可以计算出对应的周数和星期几。
一般情况下,以基准日期所在的周为第一周,之后的每7天为一周,根据天数差可以计算出给定日期所在的周数。
另外,根据天数差除以7的余数,可以计算出给定日期是基准日期所在周的第几天,从而确定星期几。
使用周历转换公式可以方便地将日期转换为周数和星期几,例如,将2022年10月1日转换为周数和星期几的计算步骤如下:1. 确定基准日期:假设基准日期为2022年1月3日,这是2022年的第一个周一。
2. 计算天数差:计算2022年10月1日与基准日期之间的天数差。
2022年10月1日与2022年1月3日之间相差271天。
3. 计算周数和星期几:根据天数差,可以计算出2022年10月1日所在的周数和星期几。
271天除以7的商为38,余数为5,说明2022年10月1日是基准日期所在周的第5天,即星期五;同时,271天除以7的商为38,表示2022年10月1日是基准日期所在周的第39周。
通过以上计算,可以得出2022年10月1日对应的周数和星期几为第39周的星期五。
根据年月日计算出该日为星期几的方法:
根据年月日计算出该日为星期几的方法:根据年月日计算出该日为星期几的方法:一、修正数概念的引入:若X日为星期M,Y日为星期N (N>M),则称d=N—M为修正数。
则可得,若知道X日为星期M,又知道X日Y日之间的d,则可计算出N,从而N的大小,在这里,修正数0≦d≦6,含有修正数的运算,最后结果一律取原结果被7除所得余数。
二、修正数基本原理:若a0与a1之间的修正数为d1,a1与a2之间为d2,an-1与an之间为dn则易得a0与an之间的修正数d=d1+d2+……+dn三、由某月某日是星期几推知该月其他日期为星期几例如,已知1990年1月1日为星期一,则易得2日的d为1,3日的d为2……由于d以7为周期循环,所以8日为0,9日为1……,由此可推出每月31个日期的修正数表一日期123 4 5 6 78 910111213141516171819202122232425262728293031修正数d 012456则对于1990年1月任一日,星期N=d(日)+1四、由某月某日是星期几推知该年其他月份同一日为星期几例如已知1990年1月1日为星期一,由上表可得1月31日为星期三,可的2月1日为星期四,则二月的修正数为4-1=3,用同样的方法可知其他月份的修正数表二:每月修正数(不考虑闰年)月份12356789101112修正数03 3 6 14 6 25 0 3 5由表一表二这对于1990年任一日,可得星期M=d(月)+d(日)+1对于闰年,由于其二月比平年多一日所以三月以后修正数有所改变,将在下一节进行介绍。
五、由某年某月某日为星期几推知该世纪其他年份同月同日为星期几平年的365天,为52星期加一天,因此平年的第二年(假设也是平年)里的某一天,星期数总是比第一个平年的同一天往后推一天。
则后一年的修正数为1,后两年修正数为2(不考虑闰年),由此类推。
若考虑闰年,即该年后一年为闰年,由于2月多一日,则三月以后修正数全部加1,考虑到制表的方便,在这里,,该闰年的修正数加1,三至十二月修正数不变,一至二月修正数减1,可得如下两表年份00010204050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596062636465666768697071727374757677787980818284858687888990919293949596979899修正数d 012356(括号中为闰年)月份12345679101112修正数0(6)3(2)361462535由表一、三、四可得该世纪中任一日为星期M=d(年)+d (月)+d(日)+1六、由某世纪某日推知其他世纪同年同月同日为星期几例如,已知1990年1月1日为星期一,求2090年1月1日为星期几。
教你根据日期算出星期几
教你根据日期算出星期几很多人都听说过,有人可以通过某一年的某一个具体日期,马上可以算出星期几,其实这个并不难。
我们计算星期几的方法一共有几个流程:1.找月份号码2.日期计算找余3.余数为星期数OK,这个总共3个流程(其实2,3年级的小学生就可以算出来。
)1. 找月份号码。
我们每一年的日历都不相同,所以导致了我们每一年的月份代码都不同,就看看我们2010年的日历吧!1月份,1号所在的位置,用(星期数- 1 = 月份代码),得到1月的月份代码4。
就是看中第一行,用星期数减去日期数就等于这个月份的代码了。
星期日就按7来算。
由此得出,2月份的号码是0,3月份的也是0,一个一个月算下去,可以得出这一年的12个月份代码,分别是月份:1 2 3 4 5 6 7 8 9 10 11 12代码:4 0 0 3 5 1 3 6 2 4 0 2所以,这一年我们只要记住400351362402就OK了。
2 .找日期。
这里我们需要记住一个公式,就是,月份数不要,除法的商不要日期数大于7的时候:(日期数+月份代码)/ 7,找余数,余数就是星期几了日期数小于7的时候:7 - 日期数=星期数日期数等于7的时候:直接是星期天现在我们来举一个例子吧!我不看上面的日历,就6月12号吧!6月份的6,不要。
我们直接找12号,根据我们的记忆,6月份的月份号码应该是 1 (400351362402,还没记住的赶快记住),所以我们就根据公式,日期数大于7就用日期数12加上月份号码1等于13 ,就除以7,得1余6,余数是6,算式是(12+1)/ 7,得1余6 ,所以6月12号绝对是星期六。
不相信的上去看看。
没错吧!不知道大家看到这里迷糊没有,我的表述不太清楚。
总结一下吧!2010年的月份代码400351362402算法前提:日期数大于7的时候:(日期数+月份代码)/ 7,找余数,余数就是星期几了日期数小于7的时候:7 - 日期数=星期数日期数等于7的时候:直接是星期天算法公式:(日期数+月份代码)/ 7,找余数,余数= 星期数OK,写到这里吧!下次教大家怎么记住圆周率,1年没记了,现在都记不住,以前2天记住500位呢!不是吹D!。
根据公历日期计算星期的公式
根据公历日期计算星期的公式xx(Zeller)公式:是一个计算星期的公式,随便给一个日期,就能用这个公式推算出是星期几。
公式如下:W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1公式中的符号含义如下:w:星期;(w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六)c:世纪(前两位数)y:年(后两位数)m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、"2月要看作上一年的13、"14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)d:日[ ]代表取整,即只要整数部分。
下面以中华人民共和国成立100周年纪念日那天(2049年10月1日)来计算是星期几,过程如下:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1=49+[]+[]-2×20+[26×(10+1)/10]+1-1=49+[12."25]+5-40+[28."6]=49+12+5-40+28=54 (除以7余5)即2049年10月1日(100周年国庆)是星期五。
"再比如计算2006年4月4日,过程如下:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1=6+[]+[]-2*20+[26*(4+1)/10]+4-1=-12 (除以7余2,注意对负数的取模运算!)不过,以上的公式都只适合于1582年(我国明朝万历十年)10月15日之后的情形。
罗马教皇格里高利十三世在1582年组织了一批天文学家,根据哥白尼日心说计算出来的数据,对儒略历作了修改。
将1582年10月5日到14日之间的10天宣布撤销,继10月4日之后为10月15日。
后来人们将这一新的历法称为“格里高利历”,也就是今天世界上所通用的历法,简称格里历或公历。
某年某月某日星期几的计算方法
某年某月某日星期几的计算方法首先确定公历(阳歷)12个月,每个月的代码数即:每个月号前一天是星期几,本月代码数就是几,如果是星期天,代码数就是0。
那个月几号是星期几?就把几号加上本月代码数后被7除,餘几就是星期几,除尽就是星期天。
如:2006年从1月---12月以次代码数为:6、2、2、5、0、3、5、1、4、6、2、4。
如果计算10月1日星期几?就把1号加上10月代码6等於7,能被7除尽,10月1日就是星期天。
再如:7月21日星期几?就把21加上7月代码数5等於26,被7除后餘5,7月21日就是星期五(因为21本身就能被7除尽,就不用再加代码数了,代码数是几就是星期几)。
注:如果要计算下一年每月代码数,可在上一年每月代码数上加1即可。
阳歷一年中大月为31天,小月为30天,平月(2月)为28天,闰月年为29天。
闰月年就是,年数能被4除尽的为闰月年,闰月年就要在2月加1天(2月变成29天)。
闰月年每月的代码数除1月、2月在上一年同月代码数上加1外,其他月份都在上年同月代码数上加2即可;闰月年的下一年每月的代码数除1月、2月在上一年同月代码数上加2外,其他月份在上年同月代码数上加1即可。
想知道某年某月某日星期几的计算方法?年份代码数代码0123456公历年份1923(1924)192519261927(1928)192919301931(1932)1933 19341935(1936)193719381939(1940)194119421943(1944)194519461947(1948)194919501951(1952)195319541955(1956)195719581959(1960)196119621963(1964)196519661967(1968)196919701971(1972)197319741975(1976)197719781979(1980)198119821983(1984)198519861987(1988)198919901991(1992)199319941995(1996)199719981999(2000)200120022003(2004)200520062007(2008)200920102011(2012)2013201420152016201720182019(2020)202120222023月份代码数代码(6)0(2)33614上半年月份1月2月3月4月5月6月代码625035下半年月份7月8月9月10月11月12月日期代码数代码1234560 1234567日期8910111213141516171819202122232425262728293031注:你要想查某年、某月、某日、星期几?如查:(1)、1949年10月1日星期几?1、先查1949年代码数为5;2、再查10月代码数为0;3、后查1日代码数为1。
星期的计算公式范文
星期的计算公式范文
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 周历法计算两种方式,根据具体的需求和地区的习惯来选择适合的公式。
给出年月日计算星期几
计算给定日期的星期几是一个常见的问题。
虽然在日常生活中我们可以依赖手机和计算机来帮助我们解决这个问题,但了解背后的原理是很有意义的。
下面我将详细介绍计算星期几的方法。
1.基本概念在计算星期几之前,我们首先需要了解几个基本概念:-儒略日:是从公元前4713年1月1日中午12:00开始计算的连续日期。
它是一个连续计数的时间尺度,非常方便用于天文计算。
-基准日:通常是一个已知星期几的日期,用于计算其他日期的星期几。
常见的基准日是星期一-基准日与儒略日的关系:基准日的儒略日是已知的,通过将要计算的日期的儒略日减去基准日的儒略日,可以得到它们之间的天数差。
2.计算公式下面是一个用于计算星期几的常用公式:- 周几 = (天数差 mod 7 + 基准日的星期几) mod 7这个公式的意思是,首先计算出要计算的日期和基准日之间的天数差,然后将天数差 mod 7,再加上基准日的星期几,最后再对结果进行 mod 7 操作,得到的余数就是要计算的日期的星期几。
3.具体步骤根据上述公式,计算给定日期的星期几的具体步骤如下:1)确定基准日的星期几。
例如,如果基准日是星期一,则基准日的星期几为0。
2)将要计算的日期转换为儒略日。
通过公式:儒略日=(年份+4713)*365.25-13*月份+天数,其中要注意闰年的处理。
3)计算天数差。
将要计算的日期的儒略日减去基准日的儒略日,得到它们之间的天数差。
4) 使用上述公式计算星期几。
根据天数差 mod 7 + 基准日的星期几计算得到星期几。
4.示例下面是一个具体的示例来演示计算星期几的过程:基准日期:2024年11月1日(星期一)要计算的日期:2024年11月23日基准日的星期几:11)儒略日的转换:基准日的儒略日=(2024+4713)*365.25-13*11+1=2,459,544.75要计算的日期的儒略日=(2024+4713)*365.25-13*11+23=2,459,566.752)天数差的计算:天数差=2,459,566.75-2,459,544.75=223)使用公式计算星期几:星期几 = (22 mod 7 + 1) mod 7 = 3所以,2024年11月23日是星期三5.注意事项在使用上述方法计算星期几时,需要注意以下几点:-处理闰年:闰年的2月份有29天,需要特殊处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
根据公历日期计算星期的公式
蔡勒(Zeller)公式:是一个计算星期的公式,随便给一个日期,就能用这个公式推算出是星期几。
公式如下:
W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1
公式中的符号含义如下:
w:星期;(w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六)
c:世纪(前两位数)
y:年(后两位数)
m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)
d:日
[ ]代表取整,即只要整数部分。
下面以中华人民共和国成立100周年纪念日那天(2049年10月1日)来计算是星期几,过程如下:
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26×(10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54 (除以7余5)
即2049年10月1日(100周年国庆)是星期五。
再比如计算2006年4月4日,过程如下:
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=6+[6/4]+[20/4]-2*20+[26*(4+1)/10]+4-1
=-12 (除以7余2,注意对负数的取模运算!)
不过,以上的公式都只适合于1582年(我国明朝万历十年)10月15日之后的情形。
罗马教皇格里高利十三世在1582年组织了一批天文学家,根据哥白尼日心说计算出来的数据,对儒略历作了修改。
将1582年10月5日到14日之间的10天宣布撤销,继10月4日之后为10月15日。
后来人们将这一新的历法称为“格里高利历”,也就是今天世界上所通用的历法,简称格里历或公历。
若要计算1582年10月4日及之前的日期是星期几,则公式为:
y+[y/4]+[c/4]-2c+[26(m+1)/10]+d+3。