21 12
发新话题
打印

给定日期计算星期几的公式

本主题由 笨巧果 于 2007-3-8 18:32 设置高亮

给定日期计算星期几的公式

即求:2008年4月25日是星期几的计算公式.

[ 本帖最后由 笨巧果 于 2007-3-8 18:31 编辑 ]

TOP

这个公式我也忘了。不过公式是死的,人是活的。可以推算出来吧。
三人行,必有吾师
我的博客http://my.hersp.com/600131/portal.aspx

TOP

蔡勒公式

W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1  
   其中,W是所求日期的星期数.如果求得的数大于7,可以减去7的倍数,直到余数小于7为止.c是公元年份的前两位数字,y是以知公元年份的后两位数字;m是月数,d是日数.方括[ ]表示只截取该数的整数部分.还有一个特别要注意的地方:所求的月份如果是1月或2月,则应视为前一年的13月或14月.所以公式中m 的取值范围不是1-12,而是3-14.  
   大家读懂后,我给出一些历史时期,以便读者进行验算.  
(1).美国总统林肯遇刺,1865年4月14日,星期5;  
(2).美国独立纪念日,1776年7月4日,星期日;  
(3).日本偷袭珍珠港,1941年1941年12月7日;  
最后还有一点,工元1582年罗马教皇曾经下令修改历法,把这一年的10月4日(星期4)的下一天改为10月15日.所以在1582年以前的日子,不能加以套用.

[ 本帖最后由 笨巧果 于 2007-3-8 18:31 编辑 ]
丑小鸭之所以能变成白天鹅,是因为它本来就是一只天鹅。

TOP

W=(C/4)-2c+y+(y/4  )+[26(m+1)/10]+d-1  
是我没读懂还是这个公式有点儿问题?
1.C与c有什么区别吗?
2.如果C除不尽4怎么办?
3.若C=c,则(C/4)-2c+y+(y/4  )+[26(m+1)/10]+d-1 <0时怎么办?

TOP

(2008+2008/4+2008/400-2008/100-2+3+1+3+4)/7……余5
即星期五

注:-2为闰年,-1为平年,3、1、3、4为1~4月日数的7余数。
       分数中只能取整,不取小数。

[ 本帖最后由 张家礼 于 2007-3-8 03:29 编辑 ]

TOP

列害

TOP

引用:
原帖由 几点 于 2007-3-7 21:03 发表
W=(C/4)-2c+y+(y/4  )+[26(m+1)/10]+d-1  
是我没读懂还是这个公式有点儿问题?
1.C与c有什么区别吗?
2.如果C除不尽4怎么办?
3.若C=c,则(C/4)-2c+y+(y/4  )+[26(m+1)/10]+d-1 <0时怎么办?
抱歉!应该全都是[ ],取整符号。
W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1  

两个C是一样的。

举例:
1949年10月1日 星期六
W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1  
   =[19/4]-2×19+49+[49/4]+[26×(10+1)/10]+1-1
   =55
55÷7的余数是6。所以是星期六。
丑小鸭之所以能变成白天鹅,是因为它本来就是一只天鹅。

TOP

如果就算我们今天是星期几,我算了一下,得数是-10 。今天是星期四。怎么讲呢?

TOP

引用:
原帖由 甘苦的困惑 于 2007-3-8 21:30 发表
如果就算我们今天是星期几,我算了一下,得数是-10 。今天是星期四。怎么讲呢?
负数除法的余数并不像我们想象的那样是-10÷7=-1……-3
-10 ≡ 4 (mod  7)
另外还可以这么算 -10+7×2=4
丑小鸭之所以能变成白天鹅,是因为它本来就是一只天鹅。

TOP

哦,原来是我看错了

哈哈……惭愧,我把公式看错了,前面两个表示取整的方括号[ ]我把它记成了写成了圆括号(  )了。

TOP

引用:
原帖由 几点 于 2007-3-9 22:09 发表
哈哈……惭愧,我把公式看错了,前面两个表示取整的方括号[ ]我把它记成了写成了圆括号(  )了。
其实是我打错了。。。。
丑小鸭之所以能变成白天鹅,是因为它本来就是一只天鹅。

TOP

哦,是吗?

难怪得的,哈哈………
我还以为是我看错了呢?
可现在我看是对的呀,是你改过来了吧。
向你学习!

TOP

星期计算公式

(年+年/4+年/400-年/100-年基数+月基数+日)/7=……余星期几
注:式中分数均取整
      年基数,平年1,闰年2,
      月基数,1、平年:一月0, 二月3, 三月3, 四月6, 五月1, 六月4,
                                     七月0, 八月3, 九月5, 十月0, 十一月3, 十二月5.
                     2、闰年:一月0, 二月3, 三月4, 四月0, 五月2, 六月5,
                                     七月0, 八月3, 九月6, 十月1, 十一月4, 十二月6.

如:1949年10月1日是星期几?
  (1949+1949/4+1949/400-1949/100-1+0+1)/7
=(1949+487+4-19-1+0+1)/7
=345……6
即该日为星期六。

TOP

回复 #5 张家礼 的帖子

(2008+2008/4+2008/400-2008/100-2+3+1+3+4)/7……余5
即星期五

注:-2为闰年,-1为平年,3、1、3、4为1~4月日数的7余数。
       分数中只能取整,不取小数。

[ 本帖最后由 张家礼 于 2007-3-8 03:29 编辑 ]

这是哪道题的解题过程?我有些看不懂,请指教?

TOP

回复 #3 笨巧果 的帖子

(2).美国独立纪念日,1776年7月4日,星期日;  
这道题我算了三遍结果都是星期四。我错哪了?请指教。  
w=[17/4]-2*17+76+[76/4]+[26(7+1)/10]+4-1
=4-34+76+19+20+4-1
=88
88/7=12余4      所以美国独立纪念日,1776年7月4日,是星期四。
以上过程哪错了请指点,谢谢!

TOP

引用:
原帖由 耳聪目明 于 2007-3-15 10:21 发表
(2).美国独立纪念日,1776年7月4日,星期日;  
这道题我算了三遍结果都是星期四。我错哪了?请指教。  
w=[17/4]-2*17+76+[76/4]+[26(7+1)/10]+4-1
=4-34+76+19+20+4-1
=88
88/7=12余4      所以美国独立纪念日,1776年7月4日,是星期四。
以上过程哪错了请指点,谢谢!
我复制过来的,没有验算。
的确是星期四。
1976年7月4日才是星期日。
丑小鸭之所以能变成白天鹅,是因为它本来就是一只天鹅。

TOP

引用:
原帖由 耳聪目明 于 2007-3-15 09:54 发表
(2008+2008/4+2008/400-2008/100-2+0+25)/7……余5
即星期五
这是哪道题的解题过程?我有些看不懂,请指教?
这是解答楼主的日期过程,这是计算星期的另一公式
(2008+2008/4+2008/400-2008/100-2+0+25)/7……余5
即星期五
2008年即本年,
2008/4即4年闰年数,
2008/400即四百年闰年数
2008/100即百年非闰年数
0即1至4月基数(7余数),见13楼的月基数
25即本日
所有除法均取整数。最终目的就是求7余数,即星期数。
该公式比较好记,只要知道公历的基本性质,均能轻松计算

TOP

回复 #17 张家礼 的帖子

请问月基数都是怎样算出来的?谢谢!

TOP

请问下笨巧果老师和耳聪目明老师,你俩的公式都很有用,就是有点复杂、难记。
问一下:有没有一种方法将你俩的公式好记忆下?
我追求,我快乐!
我满足,我快乐!
QQ:121526814我追求,我快乐!

TOP

引用:
原帖由 耳聪目明 于 2007-3-16 09:04 发表
请问月基数都是怎样算出来的?谢谢!
所谓月基数,就是前几个月日数总和的7余数,
如1月基数,前面月数的日数总和的7余数为0,则该月的基数就是0,
如4月(闰年)基数,前面三个月的日数总和为:(31+29+31)/7=91/7……0
    为了简化运算,先取各月7 余数,再相加,再取7余数:(3+1+3)/7……0,即4月基数为0,
为了加快计算速度,通常是将平年和闰年的月基数编成基数表,直接查算。  


月基数,1、平年:一月0, 二月3, 三月3, 四月6, 五月1, 六月4,
                                     七月0, 八月3, 九月5, 十月0, 十一月3, 十二月5.
                     2、闰年:一月0, 二月3, 三月4, 四月0, 五月2, 六月5,
                                     七月0, 八月3, 九月6, 十月1, 十一月4, 十二月6.

TOP

 21 12
发新话题