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

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

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

2019-11-11 07:18:40
字體:
來源:轉載
供稿:網友
計算任何一天是星期幾的幾種算法一:常用公式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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐昌市| 嘉鱼县| 内丘县| 青冈县| 甘洛县| 汤阴县| 育儿| 罗甸县| 白朗县| 开平市| 耿马| 清新县| 嘉黎县| 天祝| 西丰县| 遂川县| 平阴县| 建阳市| 嘉善县| 炉霍县| 麻江县| 定陶县| 延庆县| 安陆市| 奉化市| 洛扎县| 桦川县| 理塘县| 武功县| 玉龙| 介休市| 孟津县| 新沂市| 漯河市| 安多县| 峡江县| 盐边县| 滦平县| 都昌县| 大关县| 临猗县|