<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

      C51農歷轉換函數

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2010-10-4

      char *GetDayOf(PSYSTEMTIME pSt) 

      /*天干名稱*/ 
      const char *cTianGan[] = {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"}; 
      /*地支名稱*/ 
      const char *cDiZhi[] = {"子","丑","寅","卯","辰","巳","午", 
      "未","申","酉","戌","亥"}; 
      /*屬相名稱*/ 
      const char *cShuXiang[] = {"鼠","牛","虎","兔","龍","蛇", 
      "馬","羊","猴","雞","狗","豬"}; 
      /*農歷日期名*/ 
      const char *cDayName[] = {"*","初一","初二","初三","初四","初五", 
      "初六","初七","初八","初九","初十", 
      "十一","十二","十三","十四","十五", 
      "十六","十七","十八","十九","二十", 
      "廿一","廿二","廿三","廿四","廿五", 
      "廿六","廿七","廿八","廿九","三十"}; 
      /*農歷月份名*/ 
      const char *cMonName[] = {"*","正","二","三","四","五","六", 
      "七","八","九","十","十一","臘"}; 

      /*公歷每月前面的天數*/ 
      const int wMonthAdd[12] = {0,31,59,90,120,151,181,212,243,273,304,334}; 
      /*農歷數據*/ 
      const int wNongliData[100] = 
      {2635,333387,1701,1748,267701,694,2391,133423,1175,396438 
      ,3402,3749,331177,1453,694,201326,2350,465197,3221,3402 
      ,400202,2901,1386,267611,605,2349,137515,2709,464533,1738 
      ,2901,330421,1242,2651,199255,1323,529706,3733,1706,398762 
      ,2741,1206,267438,2647,1318,204070,3477,461653,1386,2413 
      ,330077,1197,2637,268877,3365,531109,2900,2922,398042,2395 
      ,1179,267415,2635,661067,1701,1748,398772,2742,2391,330031 
      ,1175,1611,200010,3749,527717,1452,2742,332397,2350,3222 
      ,268949,3402,3493,133973,1386,464219,605,2349,334123,2709 
      ,2890,267946,2773,592565,1210,2651,395863,1323,2707,265877}; 
      static int wCurYear,wCurMonth,wCurDay; 
      static int nTheDate,nIsEnd,m,k,n,i,nBit; 
      TCHAR szNongli[30], szNongliDay[10],szShuXiang[10]; 
      /*---取當前公歷年、月、日---*/ 
      wCurYear = pSt->wYear; 
      wCurMonth = pSt->wMonth; 
      wCurDay = pSt->wDay; 
      /*---計算到初始時間1921年2月8日的天數:1921-2-8(正月初一)---*/ 
      nTheDate = (wCurYear - 1921) * 365 + (wCurYear - 1921) / 4 + wCurDay + wMonthAdd 
      [wCurMonth - 1] - 38; 
      if((!(wCurYear % 4)) && (wCurMonth > 2)) 
      nTheDate = nTheDate + 1; 

      /*--計算農歷天干、地支、月、日---*/ 
      nIsEnd = 0; 
      m = 0; 
      while(nIsEnd != 1) 

      if(wNongliData[m] < 4095) 
      k = 11; 
      else 
      k = 12; 
      n = k; 
      while(n>=0) 

      //獲取wNongliData(m)的第n個二進制位的值 
      nBit = wNongliData[m]; 
      for(i=1;i<n+1;i++) 
      nBit = nBit/2; 

      nBit = nBit % 2; 

      if (nTheDate <= (29 + nBit)) 

      nIsEnd = 1; 
      break; 

      nTheDate = nTheDate - 29 - nBit; 
      n = n - 1; 

      if(nIsEnd) 
      break; 
      m = m + 1; 

      wCurYear = 1921 + m; 
      wCurMonth = k - n + 1; 
      wCurDay = nTheDate; 
      if (k == 12) 

      if (wCurMonth == wNongliData[m] / 65536 + 1) 
      wCurMonth = 1 - wCurMonth; 
      else if (wCurMonth > wNongliData[m] / 65536 + 1) 
      wCurMonth = wCurMonth - 1; 

      /*--生成農歷天干、地支、屬相 ==> wNongli--*/ 
      wsprintf(szShuXiang,"%s",cShuXiang[((wCurYear - 4) % 60) % 12]); 
      wsprintf(szNongli,"%s(%s%s)年",szShuXiang,cTianGan[((wCurYear - 4) % 60) % 
      10],cDiZhi[((wCurYear - 4) % 60) % 12]); 

      /*--生成農歷月、日 ==> wNongliDay--*/ 
      if (wCurMonth < 1) 
      wsprintf(szNongliDay,"閏%s",cMonName[-1 * wCurMonth]); 
      else 
      strcpy(szNongliDay,cMonName[wCurMonth]); 

      strcat(szNongliDay,"月"); 
      strcat(szNongliDay,cDayName[wCurDay]); 
      return strcat(szNongli,szNongliDay); 

      Tags:單片機,農歷轉換函數,程序  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 91精品国产综合久久香蕉| 激情综合色五月六月婷婷| 亚洲伊人成无码综合网| 亚洲AV成人潮喷综合网| 久久老色鬼天天综合网观看| 亚洲熟女综合色一区二区三区| 狠狠综合久久久久综合网| 亚洲明星合成图综合区在线| 香蕉99久久国产综合精品宅男自| 久久久久久久综合日本亚洲| 一本色道久久88亚洲精品综合| 久久亚洲伊人中字综合精品| 色悠久久久久久久综合网伊人| 久久综合图区亚洲综合图区| 色噜噜狠狠狠狠色综合久不| 久久天堂AV综合合色蜜桃网| 伊人久久大香线蕉综合影院首页| 国产成人综合日韩精品婷婷九月| 色综合天天综一个色天天综合网| 久久综合综合久久狠狠狠97色88| 国产成人综合亚洲绿色| 狠狠色丁香婷婷久久综合蜜芽| 狠狠色综合久久婷婷| 麻豆狠色伊人亚洲综合网站| 国产91色综合久久免费| 国产成人综合网在线观看| 色综合久久综合网观看| 亚洲综合无码无在线观看| 色之综合天天综合色天天棕色| 一本一道久久综合狠狠老| 色综合久久综合中文综合网| 五月丁香综合激情六月久久| 亚洲综合免费视频| 亚洲av综合av一区二区三区 | 伊人网综合在线视频| 国产综合无码一区二区辣椒| 久久综合日本熟妇| 色婷婷久久综合中文久久蜜桃av| 色综合久久无码中文字幕| 91精品国产综合久久四虎久久无码一级 | 天天做.天天爱.天天综合网|