电子万年历代码(7)

2019-01-07 11:55

Date_GetLunar(Year, Month, Day, &pDate->LunarMonth, &pDate->LunarDay); TempStr[0] = '\\0';

Temp = pDate->LunarMonth; if(Temp==1) strcat(TempStr, \正\else { if(Temp&0x80) strcat(TempStr, \闰\ Temp &= ~0x80; if(Temp>=10) { strcat(TempStr, \十\ Temp -= 10; } if(Temp>0) strcat(TempStr, T_CnNum[Temp]); }

strcpy(pDate->LunarMonthStr, TempStr); Temp = pDate->LunarDay; if(Temp<=10) { strcpy(TempStr, \初\ strcat(TempStr, T_CnNum[Temp]); }

else if(Temp<20) { strcpy(TempStr, \十\ strcat(TempStr, T_CnNum[Temp-10]); }

else if(Temp==20) { strcpy(TempStr, \二十\}

else if(Temp<30) { strcpy(TempStr, \廿\ strcat(TempStr, T_CnNum[Temp-20]); } else { strcpy(TempStr, \三十\

// 初一~初十

// 十一~十九

// 二十

// 廿一~廿九

// 三十

} strcpy(pDate->LunarDayStr, TempStr); pDate->GanZhiYear = Date_GetGanZhiYear(Year); if(Date_GetDaysOfYear(Year, Month, Day)GanZhiYear -= 1; // 如果在立春之前则采用前一年的干支 strcpy(pDate->GanZhiYearStr, T_GanStr[pDate->GanZhiYear]); strcat(pDate->GanZhiYearStr, T_ZhiStr[pDate->GanZhiYear]); pDate->GanZhiMonth = Date_GetGanZhiMonth(Year, Month, Day); strcpy(pDate->GanZhiMonthStr, T_GanStr[pDate->GanZhiMonth]); strcat(pDate->GanZhiMonthStr, T_ZhiStr[pDate->GanZhiMonth]); pDate->GanZhiDay = Date_GetGanZhiDay(Year, Month, Day); strcpy(pDate->GanZhiDayStr, T_GanStr[pDate->GanZhiDay]); strcat(pDate->GanZhiDayStr, T_ZhiStr[pDate->GanZhiDay]); strcpy(pDate->AnimalStr, T_AnimalStr[pDate->GanZhiYear]); pDate->Zodiac = Date_GetZodiac(Month, Day); strcpy(pDate->ZodiacStr, T_ZodiacStr[(unsigned char)(pDate->Zodiac)]); pDate->SolarTerm = Date_GetSolarTerm(Year, Month, Day); if(pDate->SolarTerm!=-1) strcpy(pDate->SolarTermStr, T_SolarTermStr[(unsigned char)(pDate->SolarTerm)]); pDate->Fu = Date_GetFu(Year, Month, Day); TempStr[0] = '\\0'; if(pDate->Fu != 0) { Temp = pDate->Fu & 0xFF00; switch(Temp) { case 0x0100: // 初伏 strcpy(TempStr, \初伏第\ break; case 0x0200: // 中伏 strcpy(TempStr, \中伏第\ break; case 0x0300: // 末伏 strcpy(TempStr, \三伏第\ break; } Temp = pDate->Fu & 0x00FF; if(Temp==20)

strcat(TempStr, \二十\ else { if(Temp>10) { strcat(TempStr, \十\ Temp -= 10; } strcat(TempStr, T_CnNum[Temp]); } strcat(TempStr, \天\ } strcpy(pDate->FuStr, TempStr); pDate->Jiu = Date_GetJiu(Year, Month, Day); TempStr[0] = '\\0'; if(pDate->Jiu != 0) { Temp = pDate->Jiu & 0xFF00; strcpy(TempStr, T_CnNum[Temp>>8]); strcat(TempStr, \九第\ Temp = pDate->Jiu & 0x00FF; strcat(TempStr, T_CnNum[Temp]); strcat(TempStr, \天\ } strcpy(pDate->JiuStr, TempStr); TempStr[0] = '\\0'; // 公历节日 for(i=0; i<14; i++) { if(Year>=T_Festival[i].Year && Month==T_Festival[i].Month && Day==T_Festival[i].Day) { strcpy(TempStr, T_Festival[i].Name); break; } } if(Year>=1914 && Month==5 && pDate->Weekday==0) // 母亲节, 5月第二个星期日 { Temp = Day - 7; if(Temp>0 && Temp<=7) strcpy(TempStr, \母亲节\ }

if(Year>=1934 && Month==6 && pDate->Weekday==0) 星期日 { Temp = Day - 14; if(Temp>0 && Temp<=7) strcpy(TempStr, \父亲节\ } if(Year>=1863 && Month==11 && pDate->Weekday==4) 期四 { Temp = Day - 21; if(Temp>0 && Temp<=7) strcpy(TempStr, \感恩节\ } strcpy(pDate->FestivalStr, TempStr); TempStr[0] = '\\0'; for(i=0; i<7; i++) { if(pDate->LunarMonth==T_LunarFestival[i].Month && pDate->LunarDay==T_LunarFestival[i].Day ) { strcpy(TempStr, T_LunarFestival[i].Name); break; } } strcpy(pDate->LunarFestivalStr, TempStr); return 0; }

// 父亲节, 6月第三个// 感恩节, 11月第四个星// 农历节日


电子万年历代码(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于小区聘请物业公司进行管理的几点好处(1)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: