日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> 單片機(jī) >> 正文

C51農(nóng)歷轉(zhuǎn)換函數(shù)

作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2010/10/4

char *GetDayOf(PSYSTEMTIME pSt) 

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

/*公歷每月前面的天數(shù)*/ 
const int wMonthAdd[12] = {0,31,59,90,120,151,181,212,243,273,304,334}; 
/*農(nóng)歷數(shù)據(jù)*/ 
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]; 
/*---取當(dāng)前公歷年、月、日---*/ 
wCurYear = pSt->wYear; 
wCurMonth = pSt->wMonth; 
wCurDay = pSt->wDay; 
/*---計(jì)算到初始時(shí)間1921年2月8日的天數(shù):1921-2-8(正月初一)---*/ 
nTheDate = (wCurYear - 1921) * 365 + (wCurYear - 1921) / 4 + wCurDay + wMonthAdd 
[wCurMonth - 1] - 38; 
if((!(wCurYear % 4)) && (wCurMonth > 2)) 
nTheDate = nTheDate + 1; 

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

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

//獲取wNongliData(m)的第n個(gè)二進(jì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; 

/*--生成農(nóng)歷天干、地支、屬相 ==> 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]); 

/*--生成農(nóng)歷月、日 ==> 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:單片機(jī),農(nóng)歷轉(zhuǎn)換函數(shù),程序  
責(zé)任編輯:admin
相關(guān)文章列表
基于AT89C52單片機(jī)控制的雙軸太陽(yáng)自動(dòng)跟蹤系統(tǒng)設(shè)計(jì)
ESP32單片機(jī)入門篇
超聲波測(cè)距+溫度+報(bào)警的單片機(jī)代碼_51單片機(jī)超聲波測(cè)距C語(yǔ)言程序
七段數(shù)碼管顯示原理研究_數(shù)碼管顯示0~9對(duì)應(yīng)的段碼
單片機(jī)C語(yǔ)言編程入門教程  流水燈程序示例
基于51單片機(jī)—多功能秒表,多功能計(jì)時(shí)器C語(yǔ)言程序
STC89C52單片機(jī)數(shù)字電流表電壓表源碼與電路圖  51單片機(jī)電流電壓
自學(xué)stm32單片機(jī)四個(gè)步驟,實(shí)用又高效!
先學(xué)51還是先學(xué)STM32?STM32和51單片機(jī)的區(qū)別
單片機(jī)最小系統(tǒng)介紹及電路設(shè)計(jì) STM32單片機(jī)最小系統(tǒng)
什么是PIC單片機(jī)
為什么51單片機(jī)的晶振一般使用11.0592? 51單片機(jī)常用波特率初值表
51單片機(jī)寄存器功能一覽表
單片機(jī)寫延時(shí)程序的幾種方法
自學(xué)單片機(jī)編程之中斷與時(shí)鐘程序
哈佛結(jié)構(gòu)與馮·諾伊曼結(jié)構(gòu)區(qū)別以及X86體系
單片機(jī)萬(wàn)年歷:公歷日期與農(nóng)歷日期的相互轉(zhuǎn)換程序
AVR定時(shí)器1的CTC模式設(shè)置
單片機(jī)超聲波視覺(jué)識(shí)別系統(tǒng)的測(cè)量軟件開(kāi)發(fā),超聲波測(cè)距
LCD1602的單片機(jī)驅(qū)動(dòng)詳解
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
主站蜘蛛池模板: 临江市| 丰县| 桐乡市| 乐昌市| 万安县| 宁城县| 桂东县| 荃湾区| 奈曼旗| 武山县| 玛多县| 嘉峪关市| 晋城| 秦安县| 寻乌县| 乌兰浩特市| 临高县| 洞头县| 扎鲁特旗| 桐乡市| 蒙阴县| 高碑店市| 拉孜县| 阿荣旗| 泰安市| 广东省| 佛学| 德兴市| 乳源| 临桂县| 班玛县| 延长县| 滦平县| 常熟市| 林西县| 永胜县| 宝鸡市| 铜川市| 合肥市| 漠河县| 连山|