国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

計算任何一天是星期幾的幾種算法

2019-11-14 09:03:17
字體:
來源:轉載
供稿:網友
計算任何一天是星期幾的幾種算法一:常用公式W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + DY是年份數,D是這一天在這一年中的累積天數,也就是這一天在這一年中是第幾天。二:蔡勒(Zeller)公式w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1公式中的符號含義如下,w:星期;c:世紀;y:年(兩位數); m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月來計算,比如2003年1月1日要看作2002年的13月1日來計算);d:日;[ ]代表取整,即只要整數部分。相比于通用通用計算公式而言,蔡勒(Zeller)公式大大降低了計算的復雜度。三:對蔡勒(Zeller)公式的改進相比于另外一個通用通用計算公式而言,蔡勒(Zeller)公式大大降低了計算的復雜度。不過,筆者給出的通用計算公式似乎更加簡潔(包括運算過程)。現將公式列于其下:W=[y/4]+r (y/7)-2r(c/4)+m’+d公式中的符號含義如下,r ( )代表取余,即只要余數部分;m’是m的修正數,現給出1至12月的修正數1’至12’如下:(1’,10’)=6;(2’,3’,11’)=2;(4’,7’)=5;5’=0;6’=3;8’=1;(9’,12’)=4(注意:在筆者給出的公式中,y為潤年時1’=5;2’=1)。其他符號與蔡勒(Zeller)公式中的含義相同。四:基姆拉爾森計算公式這個公式名稱是我給命名的,哈哈希望大家不要見怪。W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7在公式中d表示日期中的日數,m表示月份數,y表示年數。注意:在公式中有個與其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10則換算成:2003-13-10來代入公式計算
//y:年,m:月,d:日。在參數都只傳入相應的整數    // ********************************************/string str_week(int y,int m,int d){    int a=7; // 用來保存計算得到的星期幾的整數   string str_date="";   if((m==1)||(m==2))//如果是一月或二月進行換算   {    m+=12;    y--;   }   a=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;   //得到的星期幾的整數   switch (a){     case 0:     str_date="星期一";     break;    case 1:     str_date="星期二";     break;    case 2:     str_date="星期三";     break;    case 3:     str_date="星期四";     break;    case 4:     str_date="星期五";     break;    case 5:     str_date="星期六";     break;    case 6:     str_date="星期日";     break;   }   return str_date; }int main(){ int y, m, d; cout << "輸入日期:如 2012-03-30" << endl; scanf("%d-%d-%d", &y, &m,&d); cout << str_week(y, m, d) << endl;}原文地址:http://blog.csdn.net/whz_zb/article/details/7425260
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金坛市| 松江区| 古丈县| 同德县| 西和县| 临邑县| 高雄市| 会同县| 墨脱县| 肥乡县| 吉木乃县| 罗田县| 西城区| 阿荣旗| 平陆县| 固安县| 陆良县| 合川市| 卫辉市| 广德县| 高雄县| 隆回县| 扎鲁特旗| 白河县| 舒兰市| 岫岩| 山阴县| 上饶县| 安龙县| 平乡县| 阿巴嘎旗| 普兰店市| 海门市| 定兴县| 英超| 周至县| 茶陵县| 浦城县| 西乌| 盐城市| 神农架林区|