谁能告诉我计算任意一年月日是星期几的方法啊?

作者&投稿:壬俘 (若有异议请与网页底部的电邮联系)
谁能告诉我计算任意一年月日是星期几的方法啊?~

用当天是几月几日星期几做底,然后算出今年离那年有几年零几天。
再用年数减去闰年数,乘365除再加上366乘闰年数再加上零的天数,最后除7,如是整数,就是当天是星期几就是那天是星期几;如不是整数,就要分两种情况:如果往后数(如2007年一月一日至2008年一月一日),余数是几,就用今天往后数几天,那天星期几就是你要求的那天是星期几;如往前数,(如2008年一月一日至2007年一月一日)余数是几,就用今天往前数几天,那天星期几就是你要求的那天是星期几。

给你代码,你看一下。

import java.text.DateFormatSymbols;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Locale;public class JudgeDate { public static void main(String[] args) { int year = 2013; int month = 0;// 月是 0-11 int day = 1; String[] weekDays = DateFormatSymbols.getInstance(Locale.CHINA) .getWeekdays(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month); cal.set(Calendar.DATE, day); int week = cal.get(Calendar.DAY_OF_WEEK); System.out.print(sdf.format(cal.getTime()) + "是 "); System.out.println(weekDays[week]); }}
结果
2013-01-01是 星期二

用当天是几月几日星期几做底,然后算出今年离那年有几年零几天。

再用年数减去闰年数,乘365除再加上366乘闰年数再加上零的天数,最后除7,如是整数,就是当天是星期几就是那天是星期几;如不是整数,就要分两种情况:如果往后数(如2007年一月一日至2008年一月一日),余数是几,就用今天往后数几天,那天星期几就是你要求的那天是星期几;

如往前数,(如2008年一月一日至2007年一月一日)余数是几,就用今天往前数几天,那天星期几就是你要求的那天是星期几。

星期,又叫周,是一个时间单位,也是现在制定工作日、休息日的依据。

星期作为时间周期最早起源于巴比伦。现在世界通行的星期制是罗马皇帝君士坦丁大帝在公元321年3月7日正式确立的。

扩展资料

历史起源:星期作为时间周期最早起源于巴比伦。现在世界各国通用一星期七天的制度最早由罗马皇帝君士坦丁大帝制定,他在公元321年3月7日正式宣布7天为一周,这个制度一直沿用至今。而在中国,明末清初基督教在中国传播时,星期才逐渐被人们所知晓。

民国时期规定使用公历之后,星期才逐步普及起来。

星期在中国古称七曜。七曜在中国夏商周时期,是指日、月及五大行星等七个主要星体,是当时天文星象的重要组织成份。中国的七曜开始并未作为时间单位。

参考资料来源:百度百科——星期



心算手算任一天是星期几 ?
2112年5月1日.星期日.
2212年5月1日是星期五。
2312年呢?是星期三。
这都用简单的方法推算出来的,虽然推算几百年前,后的一天是星期几,没有实际意义,还是有很多人感到有兴趣的。也是开发知识的一个侧面。
网页介绍的计算方法,多是蔡勒公式,麻烦,不适用。
很多人,并不喜欢那个代入那么多的参数的公式。非常希望找简单可行的计算方法。
这里就是用手算和心算,能够迅速的算出过去和未来任何一天是星期几,你愿意知道吗?
1 ; 从现百年中的元旦是星期几开始?
要想知道公历那一天是星期几? 必先知道该年首日,月首日是星期几?
从万年历查知,2001年,02年,03年,04年,05年的元旦是星期1,星期2,星期3,星期4,和星期6。
好了,我们并不想查表来得到, 那一年的元旦是星期几?我们要的是对应的计算公式。
根据2001年元旦是星期一给计算这百年每年的首日(元旦)是星期几带来了方便。
也就是年数加其中闰年数除7的余数, 也可用计算得出;
用公历年的末两位数乘1.25的积,取整,除7 的余数就是了。
比如2013年 13×1.25=16.25
取整 16 16÷7 余数 2(16减14更直接)
所以2013年元旦是星期2
又如2027年 27×1.25=33.75
取整 33 33 - 4×7 = 5
2027年的元旦 是星期5
这个馀数就叫“年代码”吧。指明了平年(365天)元旦是星期几的值。
闰年它减1为元旦的值。
例如;2012年是闰年 12×1.25=15 得整数的年代码。
整数; 15 15 -7×2=1
所以2012年年代码是1,元旦星期数是年代码减1 1-1=0 星期天
顺便说一下年数乘1.25后所得的积中,小数部份为0.25,0.5,0.75,说明这是闰年后的第一年,第二年,第三年,下一年得整数就是闰年了。

2 ; 年中的12个月首日为星期几?
元旦是星期几已经知道了,它和这一年其它12个月的月首日是星期几,有关联吗?
是!,它们之间,关系密切 。实际上只要确定元旦是星期几和当年是否闰年?就把整个全年各月首日是星期几给定义了。

2006-2009年各年中月中的首日(一日)星期之间关系

2 2006年 2007年 2008年(闰年) 2009年 月编号 月 份
星期日 星期一 星期三 (≠1月) 星期四 0 1,10月
星期一 星期二 星期四 星期五 6 5月
星期二 星期三 星期五 星期六 5 2,8月
星期三 星期四 星期六(≠2月) 星期日 4 2,3,11月
星期四 星期五 星期日 星期一 3 6月
星期五 星期六 星期一 星期二 2 9,12月
星期六 星期日 星期二 星期三 1 1, 4, 7月
如 2006,2007,2008,2009年的一月一日是星期日,星期一,星期二,星期四
闰年的一月在月编号1同4,7月。二月在月编号5同八月。

06年是平年如上表一月一日和十月一日是星期日,五月一日是星期一,八月一日是星期二,而二月三月十一月一日是星期三,六月是星期四,九月和十二月一日是星期五,四月和七月一日是星期六。推论05年是从星期六到星期五的,就是这种月次序记住就好,只是星期逐年逐变的。所以只要能定位 任一月首日的星期几,则各月首日是星期几就一目了然了,求某月某日是星期几应当说是不难了,所以这种关系必须掌握和记熟。怎么记?记在手指头的关节上。那就有了永不丢失真正的计算星期的万年历了。
3 ; 手指做计算工具

需要熟练记住一些数据,没别的办法,搞化学的就得背背元素周期表,同样道理,赿熟速度赿快。
有人为了计算一年某一天是星期几,而记下了全年的月代码 。我们的记月代码,可以测百年。甚至跨世纪,不值得吗!
我们可以采用左手食指做工具,七天为一周期,把“月代码”“年代码”,都记在左手食指上,它“上,下“关节共有七个部位。成为以0到6循环圈。弯曲的食指,非常容易被姆指在这关节上下移动,存取数据和运算。
最关键的是把关节上的代码逆时针从0到6每个关节上的月份次序排好,关节码上的月份是最基本的数据,需要记熟的,否则,所谓心算和手算就无意义。从关节0做2000年首日代码(只是代码,闰年),1处做01年,也就是说01年的“年代码”是一,把要测定某年可用逐一的数(shu)年的方法,或者用计算法定位在某一月上,该月的首日就是星期日。它们的关系非常清楚,这个星期日标志月定位了其它各月首日的星期几。我们以2001年做例,年代码为1,说明四,七月的首日是星期日,顺时针元旦和十月一日是星期一,五一是星期二,八一是星期三,,,, 02年的年代码为2,九月和十二月首日是星期日,四,七月首日是星期一,元旦是星期二,以此类推,循环百年,测百年。

左手食指的上,下关节:“月代码”“年代码”示意图

84年 83年
。。 。。 。。
11年 10年
06年 05年 04年
手背和上关节 (1,10月) (5月) (8月)
0 6 5(年代码)
指根 |========|=======|========|4 指尖(2,3,11月09年15年
1 2 3
(4,7月)(9,12月) (6月)
(20xx年) 01年 02年 03年
07年 08年
12年 13年 14年
上图可以看出,2006年1月和10月1日是星期日,顺序五一是星期一,八一是星期二,2,3,11月是期3。 6月是期4。 9月12月是期5。 4月7月是期六。
计算任一年某日 如2035年8月23日,该年不是闰年 解:年代码35×1.25=43.75 43-6×7=1
元旦是星期一,五一是星期二, 八月一日是星期三,(其月中的1,8 ,15,22,29日都是星期三。)可以 用23-21=2 即相当是八月二日是星期四。
4 计算“年代码”

1 ;找出年代码上有很多种方法,一种是从食指内根处,即年代码为1,也是01年,逆时针数1年进1个 关节,闰年(即4 的倍数的年)进2个关节,逐次数到所要求的年份。对大数据可减28,56,84(28是循环周期,是年代码的模)处理简化后计算是方便的。比如2030年就是30-28=2,2070年70-56=14,14+3闰 用7模化为3
2 ;另一种是计算即;该年后两位数乘1.25 积的整数部份除7所得的馀数(即以7为模)
以77年为例;77×1.25=96.25 96 -84=12 12-7=5 馀5
简便算法还有77+19(77年中的闰年数)用7模化,77为0,19为5,0+5=5
当然 能够心算那是更好。经常计算会记住一些典型的码,我就把代码6是11,22,33,44年, 代码5是55,66,77,88年,代码4是99年等,记的很牢,当然,还有一些。
5 计算星期几要注意的方面
不管你怎么算,你要算那年的,那月的,那日的,心算也好,手算也好,计算也好 ,要把“年代码”,准确的放在对号的关节上,该关节上的月份的首日(一日)就被定位成星期天,
计算过程中,千万别忘了这个首日是星期天的标志月的关节,
要测那个月的某日,从那月起为1日顺时针数日到位,与那个标志的星期日的位差定星期几。 说是这么说,真正大数字日子要一一的数可太苯了,可以根据数情况从1,8,15,22,29,起数,也可减7,14,21,28,数其不超过6的差数。就轻松多了。闰年要记住一月按四,七月计算,二月按八月计算,
如能再增加点记住的如“年代码1就是4,7月”2就是9.12月.3就是6月....即马上知道当年的星期月,这可就更流利了。

当然,按上述原理,做成双圆盘,即可推百年,做成三圆盘则可跨世纪。但使人兴趣索然,还容易丢失,掌握了方法,就不会丢失,这种手算我想还是很“huyou"人的。
上面讲的是2000到2099年的推算,能准确得出结果,不出错误也需要下一番大功夫。
有很多地方可能还没说到位,内中可能还有很多窍门,还得靠你自己琢磨。
6;计算跨世纪的某一天是星期几?
只要会计算2000到2099年的某一天是星期几,就可以直接算出跨世纪该天星期几。
先举例子:
1733年5月1日是星期几?
计算2033年5月1日 是星期日 加5 等于星期五 即1733年5月1日是星期五
1822年8月8日是星期几?
2022年8月8日是 星期1 加3 等于星期四 即1822年8月8日是星期四
1935年4月15日是星期几?
2035年4月15日是 星期天 加1 等于星期一 即1935年4月15日星期一
只要求出2000到2099年某年月日的星期几加5,3,1 即是17,18,19某某年该年月日的星期几
这种算法正确吗?可用蔡勒公式证明;
W=[C/4]-2C+Y+[Y/4]+[13×(M+1)/5]+d-1 蔡勒公式
先代入20y年 m月 d日
W(20)=[20/4]-2×20+y+[y/4]+[13×(m+1)/5]+d -1.....1式
代入17y年 m月 d日
W(17)=[17/4]-2×17+.....................同上.............2式
W(20)=5-40=-35+K
W(17)=4-34=-30+K

W(17)-W(20)=-30-(-35)=5 所以证明17y年m月d日是20y年m月d日 加5
再说18y年m月d日
W(18)=[18/4]-2×18= - 32
W(18)- W(20)= -32 -(-35)= 3 所以证明18y年m月d日是20y年m月d日 加3
再证明19y年的
W(19)=[19/4]- 2×19=-34
W(19)-w(20)=-34-(-35)=1 所以证明19y年m月d日是20y年m月d日 加 1 。
值得提出的这个算法对1700,1800,1900年这几个年都不像2000年是闰年的 ,所以算这几个00年的一月要同十月,二月同三月或十一月计算。否则跟着2000年一,二月算就把它们算成闰年的星期了。
星期回归大周期是400年
蔡勒公式中说明了这个数学式是400年是一个大循环周期。
所以21**年的星期 序列和17**年是相同的,
同理22**年对18**年,23**年与!9**年 是相同的。
这样只要你愿意,侭管算,不过是20**年加5,3,1 而已但希望不是笔算,而是心算和手算。
黑色星期五
计算中发现点有趣的现象,目前网上的万年历有的加了黑色星期五的标志,即是星期五和13日赶到同一天,是个不吉利的日子吧!但是,谁要想专挑出这个日子在那年在那月?一定不容易。那个月有黑色星期五呢?答案是那个月的首日(1日)是星期天,明白了吧,年代码就是找这个月的,如01年的4,7月,02年的9,12月,12年的1,4,7月,2012年中,一年中有三个黑色星期五。算着玩而已,可别认真。
我"huyou"了这些东东,就告一个段落吧!

验 证
我写完上面的文章后,还怕数据上出问题,尤其开首那几个跨世纪的例子。没有自信,做了验证。
2112年5月1日 手算结果是星期 日
2212 五
2312 三
W=[C/4]-2C+Y+[Y/4]+[13×(M+1)/5]+d-1 蔡勒公式
代入
W(2112)=5-42+12+3+(13*6/5)+1-1=-7=0 0
W(2212)=5-44+12+3+(13*6/5)+1-1=-9 加14 = 5
W(2312)=5-46 =-11 14 = 3
难道是偶合吗?
2334年5月1日 手算 星期二
W=5-46+34+8+15=16 16-14=2
1815年6月15日滑铁卢手算是星期四
W(1815)=4-36+15+3+(13*7/5)+14=4.2 4
不会有什么特例了吧!

计算任意一年月日是星期几的方法可以使用蔡勒公式(Zeller's congruence),它是数学公式,可以通过输入不同的年月日来计算出星期几。其公式如下:h = (q + [(13(m + 1)) / 5] + K + [K/4] + [J/4] - 2J) mod 7其中,h代表星期几,q为指定的日期,m为指定的月份,K为年份的最后两位数字,J为年份的前两位数字。中括号符号表示向下取整。例如,们要计算2022年11月11日是星期几,那么代入公式中可以得到:q = 11m = 13(11+1)K = 22(2022年的最后两位数字)J = 20(2022年的前两位数字)h = (11 + [(13*14)/5] + 22 + [22/4] + [20/4] - 2*20) mod 7 = 4因此,2022年11月11日是星期四。

用当天是几月几日星期几做底,然后算出今年离那年有几年零几天。
再用年数减去闰年数,乘365除再加上366乘闰年数再加上零的天数,最后除7,如是整数,就是当天是星期几就是那天是星期几;如不是整数,就要分两种情况:如果往后数(如2007年一月一日至2008年一月一日),余数是几,就用今天往后数几天,那天星期几就是你要求的那天是星期几;如往前数,(如2008年一月一日至2007年一月一日)余数是几,就用今天往前数几天,那天星期几就是你要求的那天是星期几。

n=年数积+天数积(1:周日,2:周一,3:周二,4:周三,5:周四,6:周五,7:周六)
年数积:5*(X-1)/28的小数部分乘7的积(取整)(X表示公元纪年数)
天数积:Y/7的余数(Y表示当年已过天数)
例如:2019年4月24日是周几?
5*(2019-1)/28=360.3571429,取小数部分0.3571429*7=2.5,取整2为年数积
(31+28+31+24)/7=16.....2,故天积数为2.(上半年单数月31天,下半年双数月31天,二月28天,一年365天)
n=2+2=4,故这天周三。
再例:2008年5月12日是周几?
5*(2008-1)/28=358.3928571,取小数部分0.3928571*7=2.75,取整2为年数积
(31+29+31+30+12)/7=17.....0,故天积数为0.(闰年二月29天)
n=2+0=2,故这天周一。


谁能告诉一下阶乘的具体计算步骤,时间长了,都忘了
具体到计算n!的阶乘时,必须准备一个能容纳的n!的所有位数的数组或者内存块。即数组采有静态分配或者动态分配。前者代码简洁,但只适应于n小于一个固定的值,后者灵活性强,只要有足够的内存,可计算任意n的阶乘,我们这里讨论后一种情况,如何分配一块大小合适的内存。n!有多少位数呢?我们给出一个...

谁能清楚的告诉我二重积分到底怎么算
二重积分计算方法:化为二次积分。1、直角坐标系中 当f(x,y)在区域D上可积时,其积分值与分割方法无关,可选用平行于坐标轴的两组直线来分割D,这时每个小区域的面积Δσ=Δx·Δy,因此在直角坐标系下,面积元素dσ=dxdy,从而二重积分可以表示为,由此可以看出二重积分的值是被积函数和积分区域...

我想问一下学前班的加减法怎么算,比如20-15=几
20-15=5。加法是基本的四则运算之一,它是指将两个或者两个以上的数、量合起来,变成一个数、量的计算。表达加法的符号为加号“+”。进行加法时以加号将各项连接起来。加法是完全一致的事物也就是同类事物的重复或累计,是数字运算的开始,不同类比如一个苹果+一个橘子其结果只能等于二个水果就存在...

1\/3+1\/15+1\/35+1\/63+1\/99=? 要用简便方法计算 告诉我过程。我记得好像要...
5\/11。解答过程如下:=1\/(1*3)+1\/(3*5)+1\/(5*7)+1\/(7*9)+1\/(9*11)=(1\/1-1\/3+1\/3-1\/5+1\/5-1\/7+1\/7-1\/9+1\/9-1\/11)*1\/2 =(1-1\/11)*1\/2 =10\/11*1\/2 =5\/11

...请帮忙把能够使用简便计算的题目的具体过程告诉我,谢谢!
(1)1992×198.9-1991×198.8 =(1992-1991)x198.9 =1x198.9 =198.9 (2)十三又九分之一×十三分之九 =(13+1\/9)x9\/13 =13x9\/13+1\/9x9\/13 =9+1\/13 =9又13分之1 (3)101×七分之一-七分之一 =(101-1)x1\/7 =100x1\/7 =7分之100 (4)四十七分之六×48 =6\/47...

谁能清楚的告诉我二重积分到底怎么算
x),g(x),要看谁的图形在上谁就是上限,这时候的x就当做一个常数来看待(只含有x的项可以像提出常数一样提到积分号外面来)。这个第一次积分得到一个关于x的函数(这个结果是第二次积分的表达式),然后再对x积分,这时候上下限就是2和1。这样就得到积分值了。

谁能帮我计算一下电饭锅的耗电量
耗电量是以“千瓦小时(KWH)”为单位的,俗称“度”。1千瓦的用电设备使用时间为一小时,消耗的电功义为“1千瓦小时”即一度电。功率是1000W电饭锅的耗电量:1千瓦*1小时=1千瓦\/时 也就是一个小时1度电 功率是650W电饭锅的耗电量:0.65千瓦*1小时=0.65千瓦\/时 也就是一个小时0.65度电 ...

谁能告诉我3D怎么计算双胆必出一的方法
没有必出一的。以下的双胆你可以参考!131期 双:76 开761 双中 132期 双:53 开591 中 133期 双:86 开086 双中 134期 双:81 开879 中 135期 双:67 开634 中 136期 双:30 开076 中 137期 双:14 开954 中 138期 双...

3.89x(-46)-55x3.89+3.89+(1\/3-5\/7-2\/5)x105给能告诉我计算步骤呀!
3.89×(-46-55+1)+105×三分之一-105×七分之五-105×五分之二 =3.89×(-100)+35-75-42 =-389+35-75-42 =-471

100分求解一道智力题,满意的话可追加100分
还可以发现A不能大于30,比如 若A= 35 ,则令35=29+6 如果 B是29*6=174 显然 174 只能29*6 若58*3 则58》29了 事实上任何一个>30的数可以看做 x+29 不论x 取什么数 依题意乙都能根据29*x 判断出 x 和y 综上可得 若A只能是11 17 23 27 29 但23=4+19 而27=4...

省直辖行政单位15766028747: 怎样快速计算每年星期几? -
烛周朱砂: 首先,你需要背住一“特征码”,这一串特征码需要自己制作.方法: 以今年(2005年)为例,翻开日历,找到一月一日是星期几,我们会发现是星期六,那么2005年一月的特征码便是(6-1=5)(星期天为7) 同样的方法,找出12个月每个...

省直辖行政单位15766028747: 任意给出一个年月日,求出是星期几 -
烛周朱砂: 第24行if(((i%4==0)&&(i%100!=0))||(i%400==0))

省直辖行政单位15766028747: 怎样给定一个日期,就能算出它星期几?怎样算的?? -
烛周朱砂: 当然.我就可以用心算和手算算出1200年-2400年公历的任一天是星期几,其实这并没有什么神秘,要讲纯熟是2000到2100年中的公历任一天, 要求出20XX年的元旦是星期几,还是很简单的;. 比如2033年的元旦是星期 几? 即XX=33 xx乘1,...

省直辖行政单位15766028747: 怎样才能快速计算出 某年某月某日 是星期几 ? -
烛周朱砂: 在计算此问题上比较常用的还是基姆拉尔森计算公式(具体介绍可在网上搜索) W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 d天 m月 y年 1月2月换算为去年的13、14月计算,也即2007年的1月和2月在公式中体现为2006年的13和14月,虽...

省直辖行政单位15766028747: 谁能告诉我计算任意一年月日是星期几的方法啊?
烛周朱砂: 用当天是几月几日星期几做底,然后算出今年离那年有几年零几天. 再用年数减去闰年数,乘365除再加上366乘闰年数再加上零的天数,最后除7,如是整数,就是当天是星期几就是那天是星期几;如不是整数,就要分两种情况:如果往后数(如2007年一月一日至2008年一月一日),余数是几,就用今天往后数几天,那天星期几就是你要求的那天是星期几;如往前数,(如2008年一月一日至2007年一月一日)余数是几,就用今天往前数几天,那天星期几就是你要求的那天是星期几.

省直辖行政单位15766028747: 根据年月日就可心算出当天是星期几的公式? -
烛周朱砂: W=C/4-2C+Y+Y/4+26*(M+1)/10+D-1 W算出后除以7的余数便是星期数 C=年份前两位数 Y=年份后两位数 M=月份 D=日期 逢一月,二月算上一年的13月,14月

省直辖行政单位15766028747: 有谁知道只要说出年月日就可以算出那天是星期几的方法 -
烛周朱砂: 首先,我们要用变量D,M和Y来表示日期.比如,1994年3月1日就用“D=1,M=3,Y=4”记录.我们的目标是让计算结果在0到6之间.0代表星期一,1代表星期二,2代表星期三,依此类推.1994年3月1日是个星期二,那么“D mod 7(日期变量...

省直辖行政单位15766028747: 请问已知年月日能推算出那天是星期几吗?比如今天是2008年8月8日,怎么推算这天是星期几呢? -
烛周朱砂:[答案] —— 蔡勒(Zeller)公式 历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式(两个通用计算公式和一些分段计算公式),其中最著名的是蔡勒(Zeller)公式.即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义...

省直辖行政单位15766028747: 根据日期计算星期几 -
烛周朱砂: 很多人都听说过,有人可以通过某一年的某一个具体日期,马上可以算出星期几,其实这个并不难.. 我们计算星期几的方法一共有几个流程: 1.找月份号码 2.日期计算找余 3.余数为星期数 OK,这个总共3个流程(其实2,3年级的小学生就可...

省直辖行政单位15766028747: 谁知道看日期能迅速算出是星期几的方法给你任何一年看日期怎么能算出是星期几,至少是2009年,能算出是星期几吗?列出公式,然后在举几个例子 -
烛周朱砂:[答案] 首先,把你想要知道的日期号,加上该月份代号,再除以7,能整除的就是星期日;不能整除的,余数是几,那天就是星期几.如果日期号和月份代号相加的和小于7,那么这个和是几,那天就是星期几.例如:想知道2006年5月20日是星期...

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