C C 根據年月日計算星期幾(蔡勒公式篇)

2022-09-25 03:24:10 字數 979 閱讀 8013

蔡勒公式  蔡勒(zeller)公式:是乙個計算星期的公式。

隨便給乙個日期,就能用這個公式推算出是星期幾。

蔡勒公式如下:

w = [c/4] - 2c + y + [y/4] + [13 * (m+1) / 5] + d - 1

或者是:

w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

公式中的符號含義如下:

下面以中華人民共和國成立100周年紀念日那天(2023年10月1日)來計算是星期幾,過程如下:

w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

=49+[49/4]+[20/4]-220+[26(10+1)/10]+1-1

=49+[12.25]+5-40+[28.6]

=49+12+5-40+28

=54 (除以7餘5)

即2023年10月1日(100周年國慶)是星期五。

再比如計算2023年3月7日,過程如下:

w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

=13+[13/4]+[20/4]-2*20+[26*(3+1)/10]+7程式設計客棧-1

=-3 (除以7餘4,注意對負數的取模運算!)

示例**:

int returnweekday( unsigned int iyear, unsigned int imonth, unsigned int iday )

else

iweek = y + y / 4 + c / 4 - 2 * c + 26 * ( m + 1 ) / 10 + d - 1; //蔡勒公式

iweek = iweek >= 0 ? ( iweek % 7 ) : ( iweek % 7 + 7 ); //iweek為負時取模

if ( iweek == 0 ) //星期日不作為一周的第一天

return iweek;

}總結www.cppcns.com

蔡勒公式 根據年月日計算星期幾

蔡勒 zeller 公式,是乙個計算星期的公式,隨便給乙個日期,就能用這個公式推算出是星期幾。由於羅馬教皇搞了一些騷操作,這裡給出的公式僅適用於1582年10月15日以後的星期,詳情可參考 格里高利歷 w 星期 w對7取模得 0 星期日,1 星期一,2 星期二,3 星期三,4 星期四,5 星期五,6...

C 根據年 月 日獲取星期幾

1 根據日期,獲得星期幾 年 月 日 星期幾,1代表星期一 7代表星期日 public static int getweekday int y,int m,int d c 的功能很強大,卻沒有直接提供面向漢字文化的開發傾向 比如我現在要說的獲取當前的星期我提供兩種方法 datetime.now.da...

C 根據年 月 日獲取星期幾

1 根據日期,獲得星期幾 年 月 日 星期幾,1代表星期一 7代表星期日 public static int getweekday int y,int m,int d c 的功能很強大,卻沒有直接提供面向漢字文化的開發傾向 比如我現在要說的獲取當前的星期我提供兩種方法 datetime.now.da...