计算某天是星期几的方法
在日常生活中,我們常常遇到要知道某一天是星期幾的問題。有時(shí)候,我們還想知道歷史上某一天是星期幾。通常,解決這個(gè)方法的有效辦法是看日歷,但是我們總不會(huì)?隨時(shí)隨身帶著日歷,更不可能隨時(shí)隨身帶著幾千年的萬(wàn)年歷。假如是想在計(jì)算機(jī)編程中計(jì)算某一天是星期幾,預(yù)先把一本萬(wàn)年歷存進(jìn)去就更不現(xiàn)實(shí)了。這時(shí)候是不是有辦法通過(guò)什么公式,從年月日推出這一天是星期幾呢??
答案是肯定的。最常用的有兩個(gè)公式。
1.基姆拉爾森計(jì)算公式
? ? W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日數(shù)+1,m表示月份數(shù),y表示年數(shù)。
注意:用該公式時(shí),需要把一月和二月看成是上一年的十三月和十四月,公式中的d是日期加1。所以計(jì)算結(jié)果就是實(shí)際的星期,不需要加1.,即是:“1”為星期1,……,“7”為星期日。
2.Week=(Day + 2*Month + 3*(Month+1)/5 + Year + Year/4 - Year/100 + Year/400) % 7
(其中的Year是4位數(shù)的,如2009。“%”號(hào)是等式除7取余數(shù))
注意:
i. 該公式中同樣要把1月和2月分別當(dāng)成上一年的13月和14月處理。
例如:2008年1月4日要換成 2007年13月4日帶入公式。
ii.該式與基姆拉爾森公式有點(diǎn)區(qū)別:“0”為星期1,……,“6”為星期日。
總結(jié)
以上是生活随笔為你收集整理的计算某天是星期几的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 14 发布了,再也不怕 Nul
- 下一篇: hdu 1418 抱歉 (欧拉公式)