計算星期幾的公式
1、常用公式
W = [y-1] + [(y-1)/4] - [(y-1)/100] + [(y-1)/400] + D
式中變數說明:W為星期數,y為年份數,D為該日期在該年中的排序數;[X]為對X取整,下同。
2、蔡勒(Zeller)公式
W=Y+[Y/4]+[C/4]-2C+[26(M+1)/10]+d-1
公式中的符號含義如下:
W為星期數;C為世紀;Y為年(兩位數); M為月數(M=m(當m>2);M=m+12(m<3));d為日。
相比於通用通用計算公式而言,蔡勒(Zeller)公式大大降低了計算的複雜度。
3、基姆拉爾森計算公式
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來代入公式計算。
4、蔡勒公式一種改進
相比於另外一個通用通用計算公式而言,蔡勒(Zeller)公式大大降低了計算的複雜度。不過,另外有一個似乎更加簡潔更簡單的改進公式,提出這個公式的人是馮思琮:
W=[y/4]+r(y/7)-2r(c/4)+m』+d
下,其他符號與蔡勒公式中含義相同。r(X)為對表達式X取余; 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。----------------------------- [注] 以上的公式都只適合於1582年10月15日之後的情形,即我國明朝萬曆十年間。羅馬教皇格里高利十三世在1582年組織了一批天文學家,根據哥白尼日心說計算出來的數據,對儒略曆作了修改。將1582年10月5日到14日之間的10天宣布撤銷,繼10月4日之後為10月15日。 後來人們將這一新的曆法稱為「格里高利曆」,也就是今天世界上所通用的曆法,簡稱格里曆或公曆。
推薦閱讀:
※免費的計算機編程類中文書籍,github上最火,持續更新
※命卦的計算
※姓名字型檔——姓名用字與數理計算
※1995年閏八月是怎樣計算的?
※你會用「天干地支」計算年份嗎?