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

= 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太大了。其实,
给出年月日计算星期几

【转】给出年月日,计算星期几--算法及算法来历最常见的公式: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,则为星期日。
---------------------------------------------------------------------------星期制度是一种有古老传统的制度。
据说因为《圣经·创世纪》中规定上帝用了六天时间创世纪,第七天休息,所以人们也就以七天为一个周期来安排自己的工作和生活,而星期日是休息日。
从实际的角度来讲,以七天为一个周期,长短也比较合适。
所以尽管中国的传统工作周期是十天(比如王勃《滕王阁序》中说的“十旬休暇”,即是指官员的工作每十日为一个周期,第十日休假),但后来也采取了西方的星期制度。
在日常生活中,我们常常遇到要知道某一天是星期几的问题。
有时候,我们还想知道历史上某一天是星期几。
通常,解决这个方法的有效办法是看日历,但是我们总不会随时随身带着日历,更不可能随时随身带着几千年的万年历。
假如是想在计算机编程中计算某一天是星期几,预先把一本万年历存进去就更不现实了。
星期问题

二、基本题型1、已知x年x月x日为星期x,求x年x月x日为星期几?这是星期日期问题中最常见的题型,此类问题又可细分为以下几种小题型:(1)所求日期与已知日期同月同日不同年解决此类问题,只用记住一句话:每过一年星期数增加1,过闰日再加1.也就是说,每过一年,星期数就在原来的基础上加1,如果这个时间段包含“2月29日”这一天,则需要再加1(有几个2月29日就加几个1)。
例1:2011年6月24日是星期五,求2012年6月24日是星期几?A、星期五B、星期六C、星期日D、星期一【答案】C【解析】2011年6月24日到2012年6月24日正好过了一年,星期数应该先加1(每过一年星期数增加1),又由于2012年是闰年,有2月29日这天,而2011年6月24日到2012年6月24日这段时间正好包括了2月29日这天,因此需要再加1(过闰日再加1),一共加2。
所以,2012年6月24日为星期日。
例2:2012年6月24日是星期日,求2013年6月24日是星期几?A、星期一B、星期二C、星期三D、星期四【答案】A【解析】2012年6月24日到2013年6月24日正好过了一年,星期数应该先加1(每过一年星期数增加1),但是这里需要注意的是,尽管2012年是闰年,有2月29日这天,但2012年6月24日到2013年6月24日这段时间不包括2月29日这天,因此不需要再加1。
所以,2013年6月24日为星期一。
例3:2003年7月1日是星期二,那么2011年7月1日是星期几?【答案】B【解析】每过一年星期数增加1,过闰日再加1,从2003到2011共8年,先加8,中间有两个闰日,再加2,一共加10,即加3,所以2011年7月1日是星期五。
【核心提示】①在星期日期问题中,凡是要求星期几,其核心就在于“过7天与不过是一样的”,所以直接划掉天数中7的倍数即可。
②当(要求的年份-已知的年份)是4的倍数且月份和日期都不变时,增加的闰日就是相隔年数除以4得到的商。
小学数学星期几计算

一、计算出要过多少天(若是同月,后面的日期-前面的日期;若是不同月,将所有月份的天数加起来,当月就用当月的天数减去当前日期)。
二、计算出多少周余多少天三、根据余数计算出是星期几当前日期加余数即为推算出的星期。
若和大于7,则用和再减去7的得数即为星期。
1、3月1日是星期六,3月15日是星期几?3月19日呢?第一问:求出经过了几天先算15-1=14(天)再算14÷7=2(周)也就是刚好过了2个星期。
所以3月15日还是星期六。
第二问:19-1=18(天)18÷7=2(周)……4(天),也就是两个星期多4天。
先看过了2个星期,还是星期六。
那么,现在就只要知道,再过4天是星期几就可以了。
6+4=10注意:如果加起来的数字大于7,应该减去7,才是星期几。
10-7=3所以,3月19日是星期三。
练习1:3月1日是星期六,求4月1日是星期几?(3月有31天)31÷7=4(周)……3(天)也就是四个星期多3天。
先看过了4个星期,还是星期六。
那么,现在就只要知道,再过3天是星期几就可以了。
6+3=99-7=2所以,4月1日是星期二。
练习2:4月2日是星期三,5月2日是星期几?5月7日呢?30÷7=4(周)……2(天)3+2=5所以,5月2日是星期五。
从5月2日到5月7日又过了:7-2=5(天)4月2日到5月7日一共过了:30+5=35(天)35÷7=5(周)所以,5月7日还是星期三5月1号星期二,那么5月29日是星期几?(29-1)÷7=4(个)星期二今天是星期三,再过30天是星期几?30÷7=4(个)……2(天)星期五某年2月份星期三的天数比星期二的天数多, 该月的14日是星期几?由题意可知:2月1日是星期三(14-1)÷7=1(个)……6(天)星期二今天是星期一,从今天起,第30天是星期()(30-1)÷7=4(个)……1(天)星期二有一天,小明很高兴地对妈妈说:“今天是您的生日,正巧是星期日,我们可以给您好好庆祝一下。
日期与星期的计算

日期与星期的计算日期和星期的计算对于日常生活和工作中的时间安排非常重要。
准确计算日期和星期能够帮助我们更好地安排时间表,避免错过重要的事件和会议。
本文将介绍如何计算日期和星期,以及一些计算工具的使用。
一、日期的计算1. 日+1方法要计算给定日期的后一天日期,可以使用日+1的方法。
例如,如果给定日期是2022年12月31日,要计算后一天的日期,只需将日数加1,结果为2023年1月1日。
2. 月+1方法要计算给定日期的下一个月的日期,可以使用月+1的方法。
例如,如果给定日期是2022年11月30日,要计算下一个月的日期,只需将月份加1,结果为2022年12月30日。
3. 年+1方法要计算给定日期的下一年的日期,可以使用年+1的方法。
例如,如果给定日期是2022年2月28日,要计算下一年的日期,只需将年份加1,结果为2023年2月28日。
二、星期的计算星期的计算可以根据给定日期使用公式或计算工具来完成。
1. 公式计算通过公式计算星期可以得知某个日期对应的星期几。
假设给定日期是2022年8月5日,可以使用以下公式进行计算:W = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7其中,W为星期数,d为日期的天数,m为月份,y为年份(如果月份为1月或2月,将其视为上一年的13月或14月)。
2. 计算工具现代科技使得计算星期变得更加简单。
我们可以使用各种计算工具和应用程序来迅速计算某个日期对应的星期几。
例如,可以使用计算器应用或在线星期计算工具,在输入日期后即可获得对应的星期。
三、计算工具的使用1. 日历应用日历应用是一种常见的计算工具,可以帮助我们迅速计算日期和星期。
通过在日历应用中选择相应的日期,我们可以查看该日期对应的星期信息,并且可以快速切换到其他日期进行计算。
2. 在线计算工具互联网上有许多免费的在线日期和星期计算工具可供使用。
只需在搜索引擎中输入相应的关键词,即可找到适合自己需求的工具。
根据日期计算出星期几的几种算法

根据⽇期计算出星期⼏的⼏种算法由于坑爹的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来代⼊公式计算。
怎样计算经过天数和星期几

怎样计算经过天数和星期几计算经过的天数和星期几是基于日期的运算,包括日期间隔的计算和星期几的计算。
本文将介绍如何使用编程语言来计算经过的天数和星期几的方法。
1.日期间隔的计算:我们可以使用各种编程语言中提供的日期时间类库或函数来计算日期之间的间隔。
下面以 Python 为例来说明。
```pythonstart_date = date(2024, 1, 1)end_date = date(2024, 12, 31)delta = end_date - start_date```上述代码中,我们创建了两个 `date` 对象 `start_date` 和`end_date`,分别表示起始日期和结束日期。
接下来,我们通过`end_date - start_date` 的方式计算了两个日期之间的天数间隔,并将结果保存在 `delta` 变量中。
现在,我们可以通过访问 `delta` 对象的 `days` 属性来获取它们之间的天数间隔。
```pythonprint("经过的天数:", delta.days)```上述代码将会输出两个日期间的天数间隔。
2.星期几的计算:计算一些日期是星期几也是常见的需求。
下面以 Python 为例来说明。
```pythonspecific_date = date(2024, 10, 1)weekday = specific_date.weekday```上述代码中,我们创建了一个 `date` 对象 `specific_date`,表示特定日期。
接下来,我们通过 `specific_date.weekday(` 的方式计算了该日期是星期几,并将结果保存在 `weekday` 变量中。
现在,我们可以通过判断 `weekday` 变量的值来输出对应的星期几。
```pythonweekdays = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]print("经过的天数:", delta.days)print("特定日期是:", weekdays[weekday])```上述代码将会输出两个结果,分别对应经过的天数和特定日期是星期几。
知道公历日期计算星期

知道公历日期计算星期:
黄远珦
随便给一个日期,就可以推算出是星期几。
计算方法如下:模拟数除以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:日[ ]代表取整,即只要整数部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:6月1日是星期四,6月25日是星期( 日 ) 9月1日是星期日,9月15日是星期( 日 ) 3月8日是星期四,3月25日是星期( 日 )
7月1日是星期六,7月31日是星期( )
一
例:1月12日是星期五,2月8日是星期(四) 3月2日是星期三,4月10日是星期(日) 1998年2月5日是星期六,5月1日是星期(日 ) 2000年5月1日是星期一,2001年元旦是星期(六)
31+28+1=60(天)
1、6月1日~6月25日一共有( 25)天 2、9月1日~9月15日一共有( 15)天 3、3月8日~3月25日一共有( 18 )天 4、7月1日~7月31日一共有( 31)天 5、3月2日~4月10日一共有( 40)天 6、1月12日~2月8日一共有( 28 )天 7、1998年2月5日~5月1日一共有(86 )天 8、2000年5月10日~2001年元旦一共有 ( 207)天
例:今天是星期三,从今天算起,第100天是星期(三 ) 今天是星期天,不算今天,第30天是星期(二) 7月20日是星期一,8月8日是星期(六 ) 8月7日是星期六,8月21日是星期( 六 )
(1)小方去奶奶家度假,从3月4日 到3月31日,他在奶奶家住了多长时 间?
31-4+1=28(天)
(2)我们小学从7月4日开始放
暑假,到9月1日开学,一共放 了多少天?
31-3+81=109(天)
(3) 2004年的1月1日到3月1 日,一共有多少天?
31+29+1=61(天)
(4)2003年的1月1日到3月1 日,一共有多少天?