⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdn_文档中心_公历转农历(c版本).htm

📁 csdn10年中间经典帖子
💻 HTM
📖 第 1 页 / 共 2 页
字号:
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399 height=10><FONT 
            color=#ffffff>标题</FONT></TD>
          <TD><B>&nbsp;&nbsp;&nbsp;&nbsp;公历转农历(C版本)</B>&nbsp;&nbsp;&nbsp;&nbsp;3661512(原作) 
          </TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399><FONT color=#ffffff>关键字</FONT></TD>
          <TD width=500>&nbsp;&nbsp;&nbsp;&nbsp;公历 农历 转换</TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR></TBODY></TABLE><!--文章说明信息结束//-->
      <TABLE border=0 width=600>
        <TBODY>
        <TR>
          <TD align=left><BR>
            <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            前段时间做软件写了个公历转农历的函数,目前公开给大家参考,有兴趣的朋友可以在此基础上进一步完善其功能</P>
            <P>/*------------农历转换函数-----------*/<BR>char *GetDayOf(PSYSTEMTIME 
            pSt)<BR>{&nbsp;<BR>&nbsp;/*天干名称*/<BR>&nbsp;const char *cTianGan[] = 
            {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"};<BR>&nbsp;/*地支名称*/<BR>&nbsp;const 
            char *cDiZhi[] = 
            {"子","丑","寅","卯","辰","巳","午",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"未","申","酉","戌","亥"};<BR>&nbsp;/*属相名称*/<BR>&nbsp;const 
            char *cShuXiang[] = 
            {"鼠","牛","虎","兔","龙","蛇",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"马","羊","猴","鸡","狗","猪"};<BR>&nbsp;/*农历日期名*/<BR>&nbsp;const 
            char *cDayName[] = 
            {"*","初一","初二","初三","初四","初五",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"初六","初七","初八","初九","初十",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"十一","十二","十三","十四","十五",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"十六","十七","十八","十九","二十",<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
            &nbsp;&nbsp;"廿一","廿二","廿三","廿四","廿五",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            "廿六","廿七","廿八","廿九","三十"};<BR>&nbsp;/*农历月份名*/<BR>&nbsp;const char 
            *cMonName[] = 
            {"*","正","二","三","四","五","六",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"七","八","九","十","十一","腊"};</P>
            <P>&nbsp;/*公历每月前面的天数*/<BR>&nbsp;const int wMonthAdd[12] = 
            {0,31,59,90,120,151,181,212,243,273,304,334};<BR>&nbsp;/*农历数据*/<BR>&nbsp;const 
            int wNongliData[100] = 
            {2635,333387,1701,1748,267701,694,2391,133423,1175,396438<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,3402,3749,331177,1453,694,201326,2350,465197,3221,3402<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,400202,2901,1386,267611,605,2349,137515,2709,464533,1738<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,2901,330421,1242,2651,199255,1323,529706,3733,1706,398762<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,2741,1206,267438,2647,1318,204070,3477,461653,1386,2413<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,330077,1197,2637,268877,3365,531109,2900,2922,398042,2395<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,1179,267415,2635,661067,1701,1748,398772,2742,2391,330031<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,1175,1611,200010,3749,527717,1452,2742,332397,2350,3222<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,268949,3402,3493,133973,1386,464219,605,2349,334123,2709<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,2890,267946,2773,592565,1210,2651,395863,1323,2707,265877};<BR>&nbsp;static 
            int wCurYear,wCurMonth,wCurDay;<BR>&nbsp;static int 
            nTheDate,nIsEnd,m,k,n,i,nBit;<BR>&nbsp;TCHAR szNongli[30], 
            szNongliDay[10],szShuXiang[10];<BR>&nbsp;/*---取当前公历年、月、日---*/<BR>&nbsp;wCurYear 
            = pSt-&gt;wYear;<BR>&nbsp;wCurMonth = 
            pSt-&gt;wMonth;<BR>&nbsp;wCurDay = 
            pSt-&gt;wDay;<BR>&nbsp;/*---计算到初始时间1921年2月8日的天数:1921-2-8(正月初一)---*/<BR>&nbsp;nTheDate 
            = (wCurYear - 1921) * 365 + (wCurYear - 1921) / 4 + wCurDay + 
            wMonthAdd[wCurMonth - 1] - 38;<BR>&nbsp;if((!(wCurYear % 4)) 
            &amp;&amp; (wCurMonth &gt; 2))<BR>&nbsp;&nbsp;nTheDate = nTheDate + 
            1;</P>
            <P>&nbsp;/*--计算农历天干、地支、月、日---*/<BR>&nbsp;nIsEnd = 0;<BR>&nbsp;m = 
            0;<BR>&nbsp;while(nIsEnd != 
            1)<BR>&nbsp;{<BR>&nbsp;&nbsp;if(wNongliData[m] &lt; 
            4095)<BR>&nbsp;&nbsp;&nbsp;k = 
            11;<BR>&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;k = 
            12;<BR>&nbsp;&nbsp;n = 
            k;<BR>&nbsp;&nbsp;while(n&gt;=0)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;//获取wNongliData(m)的第n个二进制位的值<BR>&nbsp;&nbsp;&nbsp;nBit 
            = 
            wNongliData[m];<BR>&nbsp;&nbsp;&nbsp;for(i=1;i&lt;n+1;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;nBit 
            = nBit/2;</P>
            <P>&nbsp;&nbsp;&nbsp;nBit = nBit % 2;</P>
            <P>&nbsp;&nbsp;&nbsp;if (nTheDate &lt;= (29 + 
            nBit))<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;nIsEnd = 
            1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;&nbsp;}</P>
            <P>&nbsp;&nbsp;&nbsp;nTheDate = nTheDate - 29 - 
            nBit;<BR>&nbsp;&nbsp;&nbsp;n = n - 
            1;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;if(nIsEnd)<BR>&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;m 
            = m + 1;<BR>&nbsp;}<BR>&nbsp;wCurYear = 1921 + m;<BR>&nbsp;wCurMonth 
            = k - n + 1;<BR>&nbsp;wCurDay = nTheDate;<BR>&nbsp;if (k == 
            12)<BR>&nbsp;{<BR>&nbsp;&nbsp;if (wCurMonth == wNongliData[m] / 
            65536 + 1)<BR>&nbsp;&nbsp;&nbsp;wCurMonth = 1 - 
            wCurMonth;<BR>&nbsp;&nbsp;else if (wCurMonth &gt; wNongliData[m] / 
            65536 + 1)<BR>&nbsp;&nbsp;&nbsp;wCurMonth = wCurMonth - 
            1;<BR>&nbsp;}</P>
            <P>&nbsp;/*--生成农历天干、地支、属相 ==&gt; 
            wNongli--*/<BR>&nbsp;wsprintf(szShuXiang,"%s",cShuXiang[((wCurYear - 
            4) % 60) % 
            12]);<BR>&nbsp;wsprintf(szNongli,"%s(%s%s)年",szShuXiang,cTianGan[((wCurYear 
            - 4) % 60) % 10],cDiZhi[((wCurYear - 4) % 60) % 12]);</P>
            <P>&nbsp;/*--生成农历月、日 ==&gt; wNongliDay--*/<BR>&nbsp;if (wCurMonth 
            &lt; 1)<BR>&nbsp;&nbsp;wsprintf(szNongliDay,"闰%s",cMonName[-1 * 
            wCurMonth]);<BR>&nbsp;else<BR>&nbsp;&nbsp;strcpy(szNongliDay,cMonName[wCurMonth]);</P>
            <P>&nbsp;strcat(szNongliDay,"月");<BR>&nbsp;strcat(szNongliDay,cDayName[wCurDay]);<BR>&nbsp;return 
            strcat(szNongli,szNongliDay);</P>
            <P>}</P><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE align=center bgColor=#006699 border=0 cellPadding=0 cellSpacing=0 
width=770>
  <TBODY>
  <TR bgColor=#006699>
    <TD align=middle bgColor=#006699 id=white><FONT 
    color=#ffffff>对该文的评论</FONT></TD>
    <TD align=middle>
      <SCRIPT src="CSDN_文档中心_公历转农历(C版本).files/readnum.htm"></SCRIPT>
    </TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#666666 border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TD bgColor=#cccccc colSpan=3><SPAN style="COLOR: #cccccc"><IMG height=16 
      hspace=1 src="CSDN_文档中心_公历转农历(C版本).files/ico_pencil.gif" width=16> 
      </SPAN>&nbsp;&nbsp;&nbsp;&nbsp; hcj2002 <I>(2004-4-28 18:33:12)</I> </TD></TR>
  <TR>
    <TD bgColor=#ffffff colSpan=3 width=532><BR>学习ING <BR></TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#666666 border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TD bgColor=#cccccc colSpan=3><SPAN style="COLOR: #cccccc"><IMG height=16 
      hspace=1 src="CSDN_文档中心_公历转农历(C版本).files/ico_pencil.gif" width=16> 
      </SPAN>&nbsp;&nbsp;&nbsp;&nbsp; jackyfly <I>(2004-4-23 9:00:18)</I> </TD></TR>
  <TR>
    <TD bgColor=#ffffff colSpan=3 width=532><BR>收藏! 
<BR></TD></TR></TBODY></TABLE><BR>
<DIV align=center>
<TABLE align=center bgColor=#cccccc border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TH bgColor=#006699 id=white><FONT 
color=#ffffff>我要评论</FONT></TH></TR></TBODY></TABLE></DIV>
<SCRIPT language=javascript>
	<!--
	function isEmpty(s)
	{  
		return ((s == null) || (s.length == 0))
	}
	function fubmitok()
	{
		if (isEmpty(document.add_critique.Critique_Content.value))
		{
			alert('评论不能为空!!!!')   ;
			return false;
		}
		document.add_critique.submit();
	}
	//-->
	</SCRIPT>

<DIV align=center>
<TABLE border=0 width=770>
  <TBODY>
  <TR>
    <TD>
      <FORM action=Critique_Sql.asp method=post name=add_critique><INPUT 
      name=Critique_State type=hidden value=add> &nbsp;&nbsp;评论人:xyj0323 
      &nbsp;&nbsp;评论:<BR>&nbsp;&nbsp;<TEXTAREA cols=104 name=Critique_Content rows=8></TEXTAREA><BR>&nbsp;&nbsp;<INPUT name=ubmit onclick=javascript:fubmitok(); type=button value=发表评论> 
      <INPUT name=Topic_id type=hidden value=26862> <INPUT name=From type=hidden 
      value=/Develop/Build_Article.asp?id=26862> 
</FORM></TD></TR></TBODY></TABLE></DIV><BR>
<HR noShade SIZE=1 width=770>

<TABLE border=0 cellPadding=0 cellSpacing=0 width=500>
  <TBODY>
  <TR align=middle>
    <TD height=10 vAlign=bottom><A 
      href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A> - <A 
      href="http://www.csdn.net/map/map.shtm">网站地图</A> - <A 
      href="http://www.csdn.net/help/help.asp">帮助信息</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=2">联系方式</A> - <A 
      href="http://www.csdn.net/english">English</A> </TD>
    <TD align=middle rowSpan=3><A 
      href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG 
      border=0 height=48 src="CSDN_文档中心_公历转农历(C版本).files/biaoshi.gif" 
      width=40></A></TD></TR>
  <TR align=middle>
    <TD vAlign=top>百联美达美公司 版权所有 京ICP证020026号</TD></TR>
  <TR align=middle>
    <TD vAlign=top><FONT face=Verdana>Copyright &copy; CSDN.net, Inc. All rights 
      reserved</FONT></TD></TR>
  <TR>
    <TD height=15></TD>
    <TD></TD></TR></TBODY></TABLE></DIV>
<DIV></DIV><!--内容结束//--><!--结束//--></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -