C/C++根據年月日計算星期幾(蔡勒公式篇) - IT145.com
文章推薦指數: 80 %
C/C++根據年月日計算星期幾(蔡勒公式篇) · w:星期; w對7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六 · c:世紀-1( ...
首頁 > 軟體
C/C++根據年月日計算星期幾(蔡勒公式篇)
2021-03-0416:01:11
蔡勒公式 蔡勒(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
公式中的符號含義如下:
w:星期;w對7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六
c:世紀-1(前兩位數)
y:年(後兩位數)
m:月(m大於等於3,小於等於14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月來計算,比如2003年1月1日要看作2002年的13月1日來計算)
d:日 []代表取整,即只要整數部分。
下面以中華人民共和國成立100週年紀念日那天(2049年10月1日)來計算是星期幾,過程如下:
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週年國慶)是星期五。
再比如計算2013年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,注意對負數的取模運算!)
範例程式碼:
intReturnWeekDay(unsignedintiYear,unsignedintiMonth,unsignedintiDay)
{
intiWeek=0;
unsignedinty=0,c=0,m=0,d=0;
if(iMonth==1||iMonth==2)
{
c=(iYear-1)/100;
y=(iYear-1)%100;
m=iMonth+12;
d=iDay;
}
else
{
c=iYear/100;
y=iYear%100;
m=iMonth;
d=iDay;
}
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)//星期日不作為一週的第一天
{
iWeek=7;
}
returniWeek;
}
總結
到此這篇關於C/C++根據年月日計算星期幾(蔡勒公式篇)的文章就介紹到這了,更多相關C/C++計算星期幾內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
英特爾:一失足成千古恨,再回頭已「百年身」
2021-05-1214:32:11
11歲男孩日充遊戲7千多元!家長稱實名存漏洞,騰訊退費
2021-05-1214:32:00
火龍果財經:ETH、BTC有什麼不同
2021-05-1214:31:57
誰更令你心動?合資品牌銷量支柱齊換代
2021-05-1214:31:30
蘋果iPhone13Pro被截胡,國產廠商搶先一步,庫克可能也沒料到
2021-05-1214:31:20
印度工廠現大規模感染,iPhone產量被砍半!富士康母公司連續3天大跌,近600億市值蒸發
2021-05-1214:31:19
熱門文章
1win10升級後無法調整螢幕解析度怎麼辦
2Win7/8.1/10/Office啟用工具使用教學(KMSpico)
3win10下【寬頻連線錯誤813】怎麼辦?
4Excel密碼破解:開啟密碼,保護密碼,VBA密碼
5如何更改AndroidStudio的程式碼字型和顏色
6EXCEL技巧——EXCEL如何製作族譜
7AdobePhotoshopCC官方中文版安裝破解教學
8如何使用PPT製作轉盤抽獎的動畫
9excel表格怎麼設定到期日前自動提醒功能
10如何在Photoshop中開啟並使用pat格式的檔案
IT145.comE-mail:sddin#qq.com
延伸文章資訊
- 1通過日期即可得到星期幾,神奇哦 - 每日頭條
如果是2017-02-01則換算成:2016-14-01來代入公式計算。 開始布局界面. 利用程式語言C#布局一個簡單界面,如下:.
- 2由日期找出星期幾@ 次元茶水間:: 隨意窩Xuite日誌
網路上找到的公式,基姆拉爾森計算公式,能夠找出日期對應的星期,而公式有個較特別的地方,就是要把一月與二月看成是上一年的十三月與十四月來算。 範例程式﹝C#﹞:.
- 3C 程式設計給出年月日得出星期幾
C 程式設計給出年月日得出星期幾,1樓平金蘭波賦include define year 365int leap int year void ... 以下25行,計算<2000年,演算法同上*/d...
- 4C/C++根據年月日計算星期幾(蔡勒公式篇) - IT145.com
C/C++根據年月日計算星期幾(蔡勒公式篇) · w:星期; w對7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六 · c:世紀-1( ...
- 5c語言輸入日期輸出日曆判斷星期幾簡單程式碼_其它
技術標籤:c語言簡單程式碼c語言在我們刷oj準備藍橋杯時,程式碼在下面我們遇見 ... 算星期幾,0為特殊情況也就是7; if (a==0) { a=a+7;//防止為0 }