根據(jù)日期知道當(dāng)天是星期幾的手動計算方法
更新時間:2010年03月30日 14:25:45 作者:
在網(wǎng)上看到一篇文章,非常有意思,根據(jù)日期知道當(dāng)天是星期幾的方法,來看看吧。
蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
公式中的符號含義如下,w:星期;c:世紀(jì)-1;y:年(兩位數(shù));m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月來計算,比如2003年1月1日要看作2002年的13月1日來計算);d:日;[ ]代表取整,即只要整數(shù)部分。(C是世紀(jì)數(shù)減一,y是年份后兩位,M是月份,d是日數(shù)。1月和2月要按上一年的13月和 14月來算,這時C和y均按上一年取值。)
算出來的W除以7,余數(shù)是幾就是星期幾。如果余數(shù)是0,則為星期日。
以2049年10月1日(100周年國慶)為例,用蔡勒(Zeller)公式進(jìn)行計算,過程如下:
蔡勒(Zeller)公式:
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54 (除以7余5)
即2049年10月1日(100周年國慶)是星期5。
公式中的符號含義如下,w:星期;c:世紀(jì)-1;y:年(兩位數(shù));m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月來計算,比如2003年1月1日要看作2002年的13月1日來計算);d:日;[ ]代表取整,即只要整數(shù)部分。(C是世紀(jì)數(shù)減一,y是年份后兩位,M是月份,d是日數(shù)。1月和2月要按上一年的13月和 14月來算,這時C和y均按上一年取值。)
算出來的W除以7,余數(shù)是幾就是星期幾。如果余數(shù)是0,則為星期日。
以2049年10月1日(100周年國慶)為例,用蔡勒(Zeller)公式進(jìn)行計算,過程如下:
蔡勒(Zeller)公式:
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54 (除以7余5)
即2049年10月1日(100周年國慶)是星期5。
相關(guān)文章
SQL Server 使用join all優(yōu)化 or 查詢速度
一個老項目,加載列表奇慢,超過10秒鐘, 主要涉及兩個表, user表,procuts表。因為涉及多層代理,使用site字段保存目錄2020-09-09
SQL Server Alwayson添加監(jiān)聽器失敗的解決方法
這篇文章主要為大家詳細(xì)介紹了SQL Server Alwayson添加監(jiān)聽器失敗的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
SQL?Server?2008?R2安裝教程及錯誤解決方案詳細(xì)教程
這篇文章主要介紹了安裝SQL?Server?2008?R2的步驟,并列舉了幾個常見的錯誤及其解決方法,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2025-02-02
SQL?Server?2008?R2完美卸載教程(親測有用)
SQL Server 2008 R2是一款非常強大的數(shù)據(jù)庫管理系統(tǒng),但在某些情況下可能需要卸載它,下面這篇文章主要給大家介紹了關(guān)于SQL?Server?2008?R2完美卸載的相關(guān)資料,需要的朋友可以參考下2023-11-11
SQLServer批量更新兩個關(guān)聯(lián)表數(shù)據(jù)的方法
這篇文章主要介紹了SQLServer批量更新兩個關(guān)聯(lián)表數(shù)據(jù)的方法,提供了2種關(guān)聯(lián)查詢與更新語句的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-08-08

