C語言 判斷某一日期是星期幾

2021-06-09 05:52:58 字數 498 閱讀 7005

這個很有難度啊,首先要有個對比。。。假如在沒有參照的情況下,只能從公元1年1月1日起開始推算

,然後計算距離現在有多少天。在對7取模。。。得到的餘數可以判斷是星期幾。。。據說公元1年1月

1日是星期六吧?。。。總之很複雜,後來終於尋找到一種簡便的方法,那就是高斯--澤勒公式,這個

公式真的很厲害。。。特地介紹下。。

高斯--澤勒公式:

a=(y+[y/4]-[y/100]+[y/400]+x ) mod 7 

星期幾:a 

(a=0 為星期天!) 

公元年: y 

天數 :x( 由當年月份和日期定,即距離當年初的天數。例:2001/3/1 x=31+28+1 )

另外: 

1.公元1年1月1日是星期六。  

2.據說現行公曆2023年左右還會有一天的誤差,那時程式又要修正了。

有了這個公式就可以輕易的判斷某個日期是星期幾了。。其他的都容易解決。。。

希望能夠幫助到需要的人。。

C 輸入日期判斷是星期幾

通過日期判斷是星期幾可以通過基姆拉爾森計算公式算出。演算法如下 基姆拉爾森計算公式 w d 2 m 3 m 1 5 y y 4 y 100 y 400 1 mod 7 在公式中d表示日期中的日數,m表示月份數,y表示年數。注意 在公式中有個與其他公式不同的地方 把一月和二月看成是上一年的十三月和十四...

從某一日期開始過day天的日期

乙個sx問我的,我就寫了寫.從2010.1.1開始,給了一組測試資料3的話輸出2010.1.4星期1,所以說2010.1.1是星期五,總星期就是 day 5 7 0?7 day 5 7 下面是 include include using namespace std int month int myd...

php 取某一日期的前一天

為 date 2009 01 01 time strtotime date 3600 24 echo date y m d time 或者一句 echo date y m d strtotime 2009 01 01 3600 24 1 列印明天此時的時間戳strtotime 1 day 結果 20...