周历转换公式
- 格式:docx
- 大小:3.48 KB
- 文档页数:3
利用公式计算某一天是星期几?
如果忘了今天是星期几,怎么办?可以查看手机,因为手机带有日期功能(万年历)。
但是,手机的万年历只能查询前后几十年的时间。
如果想知道数百年前或者数百年后某一天是星期几?又该怎么办?下面介绍两种方法(公式),只需要知道具体的日期(阳历),就可以很快推导出这一天是星期几?
第一种方法(公式):
其中:[]是取整运算即截取该数的整数部分,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日是星期四。
知道公历日期计算星期:
黄远珦
随便给一个日期,就可以推算出是星期几。
计算方法如下:模拟数除以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。
口算星期几只要记住12个系数就行,这12个系数就是12个月的一号是星期几,再减1。
如7月1日是星期天,系数就是7-1=6,2月1日是星期四,系数就是3,口算时只要用该日期加该月系数,再除以7,如能整除,这一天就是星期天;如不能整除,余数是几就是星期几。
道理很简单,12个系数是必背的,当然每年都不同,就当是手机号码应该很容易背,背一次用一年,很值~在朋友面前露一手,说不定他们还称奇。
网上搜的,供参考。
历史上的某一天是星期几,未来的某一天是星期几,关于这个问题有这样的一种算法介绍如下:某年某月某日是星期几的推算公式:〔(χ,1),“(χ,1)/4”,“(χ,1)/100”,“(χ,1)/400”,y〕?7这个公式中的χ表示那一年的公历年份数,y表示某日在那一年的第几天,“”表示整数商。
计算所得的余数就是星期几(余数为0则是星期日)。
例1、 1980年6月1日是星期几,分析:χ,1,1980,1=1979,“(χ,1)/4”,494,“(χ,1)/100”,19,“(χ,1)/400”,4;y,31,29,31,30,31,1,153(天)。
解:(1979,494,19,4,153)?7,2611?7,373(余数为0)。
所以,1980年6月1日是星期日。
一、年码的计算(1)21世纪年码算法:mod(X+int(X/4),7)(X代表年份的后三位数字,如:2015年,这里X就代表15,int代表向下取整,mod代表取余)(2)其它世纪的年码算法:20世纪年码=21世纪年码+1,即 mod(X+int(X/4),7)+119世纪年码=21世纪年码+3,即 mod(X+int(X/4),7)+318世纪年码=22世纪年码=21世纪年码+5(或减2),即mod(X+int(X/4),7)+5二、牢记月码(1)任何世纪中的任何年份对应的月码都是相同的,十二个月分别对应的月码是:51(26)2503514624(括号内的数字代表闰年时1月、2月的月码)记忆方法:平年1、4、7月为5;2、8月为1;3、11月为2;5月为0;6月为3;9、12月为4;10月为6。
如何快速计算出任意一天是星期几?答:在初等数论中,有很多根据年月日计算星期的公式。
相关知识在介绍公式前,先来了解一些数学和公历相关的知识:(1)闰年规则:四年一闰,百年不闰,四百年再闰,闰年是366天,平年是365天;(2)闰月规则:闰年时,多的一天都加到二月中,平年二月28天,闰年二月29天;(3)格里高利历:我们现在使用的公历,传至西方,叫做格里高利历;在1582年10月4日(包括4日)前,罗马使用儒略历,罗马教皇格里高利十三世改革历法,针对哥白尼的日心说修正了旧历法,规则:1582年10月4日接下来的一天为10月15日,相当于历法中少了10天,但是星期继续接着前一天的;(3)取整符号:[a]表示对实数a取整,也就是抛弃小数部分,只留下整数部分,比如'[3.7865]=3';(4)同余式:若m是一个正整数,a、b为整数,且满足.a=b+km(k为整数),也就是说a和b除以m的最小正余数相同,则称a与b对模m同余,记作a≡b(mod m);根据以上历法规则和数学工具,就可以利用同余技巧来处理,因为我们计算某一天是星期几,只需要选定一个固定的日期,然后计算和另外一个日期的相差天数对“7”取余即可。
蔡勒公式其中符号:w:表示星期,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六,0-星期日;c:表示年份前两位数值;y:表示年份后两位数值m:表示月份,但是对于1、2月份需看作前一年的13、14月,这是为了简化闰年规则导致的复杂度;d:表示“日”;以上两个公式中,第二个其实就是第一个公式中的数值,加10后再取模,需要注意的是,在公历中1582年10月5日~1582年10月14日的这十天,是不存在的。
实际应用比如我们来计算2018年9月2日,带入第一个方程:w=(18+[18/4]+[20/4]-2*20+[13(9+1)]/5)+2-1)(mod7)=(18+4+5-40+26+1)(mod7)=14(mod7)=0于是,2018年9月2日这天,就是星期天!当然,我们现在手机里有了万年历,实际当中就不需要去计算了。
Excel如何根据日期计算星期几?教你1个超简单的方法,5秒
搞定!
展开全文
excel在使用的过程中,经常会有日期转换的问题,比如根据当前日期,计算是星期几,如何进行快速计算呢,下面以excel2016为例,分享一种简单快捷的方法。
1.以下图统计表为例,选择需要转换的日期数据,如A2单元格。
1.在B2单元格中单击,并选择菜单【公式】-【插入函数】,选择类别“常用函数”,选择“WEEKDAY”函数。
如下图所示。
微信公众号:职场天蓝ID:ftianlan 分享更多Excel/Word/PPT 技巧!
也可以在【插入函数】弹出窗体中,选择类别【日期与时间】,选择“WEEKDAY”函数。
如下图所示。
1.在函数参数窗体中,【WEEKDAY】函数有两个参数值,一个
是需要读取的日期(Serial_number),选择A2单元格(或者直接输入A2);第二个是返回周数表达的方式(Return_type),选择【2】,点击“确定”按钮即可。
1.可以看到B2单元格中返回的是星期2。
选中B2单元格,按住鼠标向下拖动填充到B6单元格,放开鼠标,就完成了所有转换,如图所示。
1.在C2列使用=TEXT(A2,'aaaa')函数,并拖动鼠标向下填充,可以进行格式转换,如上图所示。
这样,从日期到星期几的转换就完成了,是不是很简单呢?。
excel周公式
在Excel中,周公式通常是用于计算某个日期是星期几或者是距离某个日期有多少周。
以下是一些常用的周公式:
1. 获取当前日期是星期几:
公式:=WEEKDAY(当前日期单元格)
例如,如果当前日期单元格的值为A1,那么公式为:=WEEKDAY(A1)
2. 计算两个日期之间的周数:
公式:=WEEKS BETWEEN(结束日期单元格, 开始日期单元格)
例如,如果开始日期单元格的值为A1,结束日期单元格的值为A2,那么公式为:=WEEKS BETWEEN(A2, A1)
3. 计算某个日期距离今天有多少周:
公式:=WEEKNUM(当前日期单元格, 工作日历单元格)
例如,如果当前日期单元格的值为A1,工作日历单元格的值为B1(需自定义设置),那么公式为:=WEEKNUM(A1, B1)
4. 根据日期范围计算周数:
公式:=COUNTIFS(日期范围单元格, "周")
例如,如果日期范围单元格的值为A1:Z1,那么公式为:=COUNTIFS(A1:Z1, "周")
请注意,这些公式适用于Excel 2016及更高版本。
在输入公式时,请确保引用正确的单元格。
如果您需要更多帮助,请随时提问。
蔡勒公式蔡勒(Zeller)公式,是一个计算星期的公式,随便给一个日期,就能用这个公式推算出是星期几。
公式:W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1或者是:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1符号意义:w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六c:世纪-1(前两位数)y:年(后两位数)m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)d:日[ ]代表取整,即只要整数部分。
关于C语言中的取整方法:1、直接赋值给整数变量。
如:int i = 2.5; 或i = (int) 2.5;这种方法采用的是舍去小数部分2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),但是整数除法对负数的取整结果和使用的C编译器有关。
3、使用floor函数。
floor(x)返回的是小于或等于x的最大整数。
如:floor(2.5) = 2floor(-2.5) = -34、使用ceil函数。
ceil(x)返回的是大于x的最小整数。
如:ceil(2.5) = 3ceil(-2.5) = -2注:(int)是直接去掉小数部分,当x≥0时,(int)(x)=floor(x),(int)(x)≠Ceil(x);当x<0时,(int)(x)≠floor(x),(int)(x)= Ceil(x);floor()是向负无穷大舍入;ceil()是向正无穷大舍入。
(int)(3.2)=3,(int)(-3.2)=-3;floor(3.2)=3,floor(-3.2)=-4;ceil(3.2)=4,ceil(-3.2)=-3下面以中华人民共和国成立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周年国庆)是星期五。
新编万年历星期速算法推导过程: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年是一样的所以,万年历实际上是骗人的,应该叫“四百年历”才是。
25个日期计算公式,记住一个算一个小伙伴们好啊,今天老祝为大家准备了一组日期计算的Excel函数公式套路,看看你能会几个?一时记不住也不要紧哈,可以先收藏,循序渐进慢慢来:1、今天是几号?=DAY(NOW())2、今天是几月份?=MONTH(NOW())3、今天是星期几?=WEEKDAY(NOW(),2)4、今天的日期是?=TODAY()5、今年的年份是?=YEAR(NOW())6、今天是本年度的第几周?=WEEKNUM(NOW())7、今天是第几季度?=LEN(2^MONTH(NOW()))8、今天是今年的第几天?=TODAY()-'1-1' 19、今天是本季度的第几天?=COUPDAYBS(NOW(),'9999-1',4,1) 110、本季度有几天?=COUPDAYS(NOW(),'9999-1',4,1)11、今天是本月的第几周?=INT((DAY(NOW()) MOD(NOW()-DAY(NOW()),7)-1)/7) 112、今天离元旦还有多少天?='12-31'-TODAY() 113、本月有多少天?=DAY(EOMONTH(NOW(),0))14、这个月第一天是哪天?=NOW()-DAY(NOW()) 115、这个月最后一天是哪天?=EOMONTH(NOW(),0)16、这个月还有几天?=EOMONTH(NOW(),0)-TODAY()17、这个月有几个星期五?=COUNT(0/(MOD(MONTH(NOW())&-ROW(1:29),7)=6)) 数组公式,按Shift ctrl 回车输入18、下个月有几天?=DAY(EOMONTH(NOW(),1))19、上个月有几天?=DAY(EOMONTH(NOW(),-1))20、上个月最后一天是哪天?=NOW()-DAY(NOW())21、下个工作日是哪天?=WORKDAY(TODAY(),1)22、今年有多少天?='12-31'-'1-1' 123、今年是闰年吗?=IF(COUNT(-'2-29'),'是','否')24、2012-6-28出生的宝宝几周岁了?=DATEDIF('2012-6-28',NOW(),'y')25、今年的母亲节是哪天?=FLOOR('5-6',7) 8。
周历转换公式
周历转换公式是指将一个日期转换为对应的周数和星期几的计算方法。
它是一种常用的日期计算工具,能够方便地将日期转换为周数和星期几,对于一些需要按周计算的工作或学习安排非常有用。
周历转换公式的原理是根据给定的日期,计算出该日期与某个基准日期之间的天数差,然后根据天数差来计算对应的周数和星期几。
具体而言,周历转换公式的计算步骤如下:
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周的星期五。
周历转换公式的应用非常广泛。
例如,在工作安排中,我们通常会根据周数和星期几来安排会议、培训等工作;在学校教学中,也会根据周数和星期几来安排课程表。
周历转换公式可以帮助我们快速准确地将日期转换为周数和星期几,从而更好地进行工作和学习安排。
周历转换公式是一种常用的日期计算工具,可以方便地将日期转换
为周数和星期几。
它的原理是根据给定的日期与基准日期之间的天数差来计算对应的周数和星期几。
周历转换公式在工作和学习中有着广泛的应用,可以帮助我们进行周计划和安排。
通过掌握周历转换公式,我们可以更好地管理时间,提高工作和学习效率。