求某一天是星期幾

2021-08-10 08:08:44 字數 766 閱讀 5833

—— 蔡勒(zeller)公式

歷史上的某一天是星期幾?未來的某一天是星期幾?關於這個問題,有很多計算公式(兩個通用計算公式和一些分段計算公式),其中最著名的是蔡勒(zeller)公式。即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

公式中的符號含義如下,w:星期;c:世紀-1;y:年(兩位數);m:月(m大於等於3,小於等於14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月來計算,比如2023年1月1日要看作2023年的13月1日來計算);d:日;[ ]代表取整,即只要整數部分。(c是世紀數減一,y是年份後兩位,m是月份,d是日數。1月和2月要按上一年的13月和14月來算,這時c和y均按上一年取值。)

算出來的w除以7,餘數是幾就是星期幾。如果餘數是0,則為星期日。

#includechar *name = ;

int main(void)

// 判斷是否在2023年9月3日之前

if ((y < 1752) || (y == 1752 && m < 9) ||

(y == 1752 && m == 9 && d < 3))

a = (d + 2*m + 3*(m+1)/5 + y + y/4 +5) % 7;

else

a = (d + 2*m + 3*(m+1)/5 + y + y/4 - y/100 + y/400)%7;

printf("it's %s\n", name[a]);

return 0;

}

求某一天是星期幾(模板)

題目描述 編一程式實現 由輸入 年以後的任意乙個日期後,計算機能列印出該日期是星期幾。日期肯定合法,絕不會出現類似 年 月 日的情況 已知 年 月 日是星期二。輸入 年 月 日 日期有3個整數組成,中間用空格隔開 輸出 乙個整數星期 星期用1 2 3 4 5 6 7表示 若是星期日就輸出7 樣例 輸...

蔡勒公式(求某一天是星期幾)

w 星期 w對7取模得 0 星期日,1 星期一,2 星期二,3 星期三,4 星期四,5 星期五,6 星期六 c 世紀 注 一般情況下,在公式中取值為已經過的世紀數,也就是年份除以一百的結果,而非正在進行的世紀,也就是現在常用的年份除以一百加一 不過如果年份是西元前的年份且非整百數的話,c應該等於所在...

java如何計算某一天是星期幾

如何計算某一天是星期幾?蔡勒 zeller 公式 歷史上的某一天是星期幾?未來的某一天是星期幾?關於這個問題,有很多計算公式 兩個通用計算公式和一些分段計算公式 其中最著名的是蔡勒 zeller 公式。即w y y 4 c 4 2c 26 m 1 10 d 1 公式中的符號含義如下,w 星期 c 世...