C语言公历转农历写法

合集下载

C 万年历及公历农历转换源代码1

C  万年历及公历农历转换源代码1

scanf("%d.%d.%d",&gyear,&gmonth,&gday); if(gyear%4==0 && gyear%100!=0 || gyear%400==0) months[2]=29; else months[2]=28; /*以下是计算在该公历年的第几天*/
whatday=gPastday[gmonth]+gday; if((gyear%4==0 && gyear%100!=0 || gyear%400==0) && (gmonth>2)) whatday++; /*上如果是闰年和月份大于二则在该公历年的第几天数+1*/ /*计算该年春节在公历年的第几天*/
clrscr();
}
}
getch();
}
/*公历每月前面的天数*/ const int gPastday[13]={0,0,31,59,90,120,151,181,212,243,273,304,334};
months[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
{case 1:printf("
* 1 * "); break;
case 3:printf("
* 3 * "); break;
case 5:printf("
* 5 * "); break;
case 7:printf("
* 7 * "); break;
case 9:printf("
* 9 * ");break;
{

公历转换成农历c语言函数

公历转换成农历c语言函数

公历转换成农历c语言函数在进行农历与公历的转换时,使用C语言编写一个函数可以很方便地实现这一功能。

本文将为您介绍一个简单而有效的公历转换成农历的C语言函数。

函数名称:solarToLunar功能:将公历日期转换成农历日期输入参数:int year(公历年份),int month(公历月份),int day (公历日)返回值:char*(农历日期)```c#include<stdio.h>#include<stdlib.h>// 农历数据结构体typedef struct LunarDate {int year;int month;int day;} LunarDate;// 公历转换成农历函数char* solarToLunar(int year, int month, int day) {/* 在这里编写您的代码 */}int main() {int year, month, day;printf("请输入公历年份:");scanf("%d", &year);printf("请输入公历月份:");scanf("%d", &month);printf("请输入公历日期:");scanf("%d", &day);char* lunarDate = solarToLunar(year, month, day); printf("农历日期:%s\n", lunarDate);free(lunarDate); // 释放内存return 0;}```在程序中,我们使用了一个结构体LunarDate来表示农历日期,它包含了年、月、日三个变量。

函数solarToLunar负责将公历日期转换成农历日期,并以字符串形式返回。

接下来,我们需要在函数solarToLunar中编写转换逻辑。

公历、农历互相转换函数

公历、农历互相转换函数

公历、农历互相转换函数'公历、农历互相转换模块'原创:互联网'修正:阿勇 2005/1/12'// 农历数据定义 //'先以 H2B 函数还原成长度为 18 的字符串,其定义如下:'前12个字节代表1-12月:1为大月,0为小月;压缩成十六进制(1-3位)'第13位为闰月的情况,1为大月30天,0为小月29天;(4位) '第14位为闰月的月份,如果不是闰月为0,否则给出月份(5位) '最后4位为当年农历新年的公历日期,如0131代表1月31日;当作数值转十六进制(6-7位)'农历常量(1899~2100,共202年)Private Const ylData = "AB500D2,4BD0883," _&"4AE00DB,A5700D0,54D0581,D2600D8,D9500CC,655147D,56A0 0D5,9AD00CA,55D027A,4AE00D2," _&"A5B0682,A4D00DA,D2500CE,D25157E,B5500D6,56A00CC,ADA 027B,95B00D3,49717C9,49B00DC," _&"A4B00D0,B4B0580,6A500D8,6D400CD,AB5147C,2B600D5,9570 0CA,52F027B,49700D2,6560682," _&"D4A00D9,EA500CE,6A9157E,5AD00D6,2B600CC,86E137C,92E0 0D3,C8D1783,C9500DB,D4A00D0," _"D8A167F,B5500D7,56A00CD,A5B147D,25D00D5,92D00CA,D2B 027A,A9500D2,B550781,6CA00D9," _&"B5500CE,535157F,4DA00D6,A5B00CB,457037C,52B00D4,A9A08 83,E9500DA,6AA00D0,AEA0680," _&"AB500D7,4B600CD,AAE047D,A5700D5,52600CA,F260379,D950 0D1,5B50782,56A00D9,96D00CE," _&"4DD057F,4AD00D7,A4D00CB,D4D047B,D2500D3,D550883,B54 00DA,B6A00CF,95A1680,95B00D8," _&"49B00CD,A97047D,A4B00D5,B270ACA,6A500DC,6D400D1,AF4 0681,AB600D9,93700CE,4AF057F," _&"49700D7,64B00CC,74A037B,EA500D2,6B50883,5AC00DB,AB60 0CF,96D0580,92E00D8,C9600CD," _&"D95047C,D4A00D4,DA500C9,755027A,56A00D1,ABB0781,25D0 0DA,92D00CF,CAB057E,A9500D6," _&"B4A00CB,BAA047B,B5500D2,55D0983,4BA00DB,A5B00D0,5171 680,52B00D8,A9300CD,795047D," _&"6AA00D4,AD500C9,5B5027A,4B600D2,96E0681,A4E00D9,D260 0CE,EA6057E,D5300D5,5AA00CB," _&"76A037B,96D00D3,4AB0B83,4AD00DB,A4D00D0,D0B1680,D25 00D7,D5200CC,DD4057C,B5A00D4," _"56D00C9,55B027A,49B00D2,A570782,A4B00D9,AA500CE,B251 57E,6D200D6,ADA00CA,4B6137B," _&"93700D3,49F08C9,49700DB,64B00D0,68A1680,EA500D7,6AA00 CC,A6C147C,AAE00D4,92E00CA," _&"D2E0379,C9600D1,D550781,D4A00D9,DA400CD,5D5057E,56A0 0D6,A6C00CB,55D047B,52D00D3," _&"A9B0883,A9500DB,B4A00CF,B6A067F,AD500D7,55A00CD,ABA0 47C,A5A00D4,52B00CA,B27037A," _&"69300D1,7330781,6AA00D9,AD500CE,4B5157E,4B600D6,A5700 CB,54E047C,D1600D2,E960882," _&"D5200DA,DAA00CF,6AA167F,56D00D7,4AE00CD,A9D047D,A2D 00D4,D1500C9,F250279,D5200D1"Private Const ylMd0 = "初一初二初三初四初五初六初七初八初九初十十一十二十三十四十五" _& "十六十七十八十九二十廿一廿二廿三廿四廿五廿六廿七廿八廿九三十 "Private Const ylMn0 = "正二三四五六七八九十冬腊"Private Const ylTianGan0 = "甲乙丙丁戊已庚辛壬癸"Private Const ylDiZhi0 = "子丑寅卯辰巳午未申酉戌亥"Private Const ylShu0 = "鼠牛虎兔龙蛇马羊猴鸡狗猪"'公历日期转农历Function GetYLDate(ByVal strDate As String) As StringOn Error GoTo aErrIf Not IsDate(strDate) Then Exit FunctionDim setDate As Date, tYear As Integer, tMonth As Integer, tDay As IntegersetDate = CDate(strDate)tYear = Year(setDate): tMonth = Month(setDate): tDay = Day(setDate)'如果不是有效有日期,退出If tYear > 2100 Or tYear < 1900 Then Exit FunctionDim daList() As String * 18, conDate As Date, thisMonths As StringDim AddYear As Integer, AddMonth As Integer, AddDay As Integer, getDay As IntegerDim YLyear As String, YLShuXing As StringDim dd0 As String, mm0 As String, ganzhi(0 To 59) As String * 2Dim RunYue As Boolean, RunYue1 As Integer, mDays As Integer, i As Integer'加载2年内的农历数据ReDim daList(tYear - 1 To tYear)daList(tYear - 1) = H2B(Mid(ylData, (tYear - 1900) * 8 + 1, 7)) daList(tYear) = H2B(Mid(ylData, (tYear - 1900 + 1) * 8 + 1, 7))AddYear = tYearinitYL:AddMonth = CInt(Mid(daList(AddYear), 15, 2))AddDay = CInt(Mid(daList(AddYear), 17, 2))conDate = DateSerial(AddYear, AddMonth, AddDay) '农历新年日期getDay = DateDiff("d", conDate, setDate) + 1 '相差天数If getDay < 1 Then AddYear = AddYear - 1: GoTo initYLthisMonths = Left(daList(AddYear), 14)RunYue1 = Val("&H" & Right(thisMonths, 1)) '闰月月份If RunYue1 > 0 Then'有闰月thisMonths = Left(thisMonths, RunYue1) & Mid(thisMonths, 13, 1) & Mid(thisMonths, RunYue1 + 1)End IfthisMonths = Left(thisMonths, 13)For i = 1 To 13 '计算天数mDays = 29 + CInt(Mid(thisMonths, i, 1))If getDay > mDays ThengetDay = getDay - mDaysElseIf RunYue1 > 0 ThenIf i = RunYue1 + 1 Then RunYue = TrueIf i > RunYue1 Then i = i - 1End IfAddMonth = iAddDay = getDayExit ForEnd IfNextdd0 = Mid(ylMd0, (AddDay - 1) * 2 + 1, 2)mm0 = Mid(ylMn0, AddMonth, 1) + "月"For i = 0 To 59ganzhi(i) = Mid(ylTianGan0, (i Mod 10) + 1, 1) + Mid(ylDiZhi0, (i Mod 12) + 1, 1)Next iYLyear = ganzhi((AddYear - 4) Mod 60)YLShuXing = Mid(ylShu0, ((AddYear - 4) Mod 12) + 1, 1)If RunYue Then mm0 = "闰" & mm0GetYLDate = "农历" & YLyear & "(" & YLShuXing & ")年" & mm0 & dd0aErr:End Function'农历转公历日期'若 secondMonth 为真,则当 tMonth 是闰月时,取第二个月Function GetDate(ByVal tYear As Integer, tMonth As Integer, tDay As Integer, Optional secondMonth As Boolean = False) AsStringOn Error GoTo aErrIf tYear > 2100 Or tYear < 1899 Or tMonth > 12 Or tMonth < 1 Or tDay > 30 Or tDay < 1 Then Exit FunctionDim thisMonths As String, ylNewYear As Date, toMonth As IntegerDim mDays As Integer, RunYue1 As Integer, i As IntegerthisMonths = H2B(Mid(ylData, (tYear - 1899) * 8 + 1, 7))If tDay > 29 + CInt(Mid(thisMonths, tMonth, 1)) Then Exit FunctionylNewYear = DateSerial(tYear, CInt(Mid(thisMonths, 15, 2)), CInt(Mid(thisMonths, 17, 2))) '农历新年日期thisMonths = Left(thisMonths, 14)RunYue1 = Val("&H" & Right(thisMonths, 1)) '闰月月份toMonth = tMonth - 1If RunYue1 > 0 Then'有闰月thisMonths = Left(thisMonths, RunYue1) & Mid(thisMonths, 13, 1) & Mid(thisMonths, RunYue1 + 1)If tMonth > RunYue1 Or(secondMonth And tMonth = RunYue1) Then toMonth = tMonthEnd IfthisMonths = Left(thisMonths, 13)mDays = 0For i = 1 To toMonthmDays = mDays + 29 + CInt(Mid(thisMonths, i, 1))NextmDays = mDays + tDayGetDate = ylNewYear + mDays - 1aErr:End Function'将压缩的阴历字符还原Private Function H2B(ByVal strHex As String) As StringDim i As Integer, i1 As Integer, tmpV As StringConst hStr = "0123456789ABCDEF"Const bStr = "000000010010001101000101011001111000100110101011110 0110111101111"tmpV = UCase(Left(strHex, 3))'十六进制转二进制For i = 1 To Len(tmpV)i1 = InStr(hStr, Mid(tmpV, i, 1))H2B = H2B & Mid(bStr, (i1 - 1) * 4 + 1, 4)NextH2B = H2B & Mid(strHex, 4, 2)'十六进制转十进制H2B = H2B & "0" & CStr(Val("&H" & Right(strHex, 2)))End Function公历转农历示例:=GetYLDate("2009-5-24") 返回2009年5月24日的农历日期:农历已丑(牛)年五月初一=GetYLDate("2009-6-23") 返回2009年6月23日的农历日期:农历已丑(牛)年闰五月初一农历转公历示例:=GetDate(2009,5,1) 返回2009年五月初一的公历日期:2009-5-24=GetDate(2009,5,1,1) 返回2009年闰五月初一的公历日期:2009-6-23。

C51写的公历转农历和星期

C51写的公历转农历和星期
0x66,0x4B,0x3e, //1930
0x0d,0x4A,0x51, //1931
0x0e,0xA5,0x46, //1932
0x56,0xd4,0xBA, //1933
0x05,0xAd,0x4e, //1934
0x02,0xB6,0x44, //1935
0x39,0x37,0x38, //1936
/*
函数功能:输入BCD阳历数据,输出BCD阴历数据(只允许1901-2099年)
调用函数示例:Conversion(c_sun,year_sun,month_sun,day_sun)
如:计算2004年10月16日Conversion(0,0x4,0x10,0x16);
c_sun,year_sun,month_sun,day_sun均为BCD数据,c_sun为世纪标志位,c_sun=0为21世
0x09,0x2e,0x4B, //1937
0x7C,0x96,0xBf, //1938
0x0C,0x95,0x53, //1939
0x0d,0x4A,0x48, //1940
0x6d,0xA5,0x3B, //1941
0x0B,0x55,0x4f, //1942
0x05,0x6A,0x45, //1943
0x7d,0x4A,0xBd, //2063
0x0d,0x4A,0x51, //2064
0x0d,0xA5,0x45, //2065
0x55,0xAA,0xBA, //2066
0x05,0x6A,0x4e, //2067
0x0A,0x6d,0x43, //2068
0x45,0x2e,0xB7, //2069
0x24,0xAe,0xB6, //1909

c语言公历转农历算法

c语言公历转农历算法

c语言公历转农历算法
公历和农历是两种不同的历法系统,公历是以太阳运行为基础的历法,而农历则是以月亮运行为基础的历法。

在一些特殊的场合,我们
可能需要将公历日期转换为农历日期,这就需要用到C语言编写的公
历转农历算法。

公历转农历的算法可以分为两个步骤:首先是计算公历日期到农历
起始点(即农历1900年1月31日)的天数差,然后根据这个天数差计算出对应的农历日期。

首先,我们需要定义一个结构体来表示农历日期,包括年、月、日
和是否闰月等信息。

然后,我们可以编写一个函数来计算公历日期到
农历起始点的天数差。

这个函数可以使用公历日期的年、月、日作为
参数,然后通过一系列的计算来得到天数差。

接下来,我们可以编写另一个函数来根据天数差计算出对应的农历
日期。

这个函数可以使用一个数组来存储每个农历年的天数,然后根
据天数差逐步减去每个农历年的天数,直到找到对应的农历年份。

然后,再根据剩余的天数计算出对应的农历月份和日期。

最后,我们可以在主函数中调用这两个函数来完成公历日期到农历
日期的转换。

我们可以输入一个公历日期,然后调用第一个函数计算
出天数差,再调用第二个函数计算出对应的农历日期,并将结果输出。

需要注意的是,由于农历的特殊性,每个农历年的天数和月份都是不固定的,而且还有闰月的情况。

因此,在编写算法时需要考虑到这些特殊情况,并进行相应的处理。

总之,C语言公历转农历算法是一个比较复杂的问题,需要考虑到公历和农历的差异以及农历的特殊性。

通过合理的算法设计和编程实现,我们可以实现公历日期到农历日期的转换,从而满足一些特殊场合的需求。

C#转换农历的简单方法

C#转换农历的简单方法

C#转换农历的简单方法AD:C#转换农历原来还准备自己写算法,并研究农历规则。

发现那太难和麻烦了,光是农历的推算那就我等专门研究历法的人一下搞懂的。

后来发现.NET类库也提供一些基础的农历类System.Globalization.ChineseLunisolarCalendar。

改装了一下如DateTime时间形式,实现了公历农历转换的功能,但是只能算到1900~2100年之间的。

基本够日常使用了。

C#转换农历代码如下:1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;45namespaceSystem6...{7/**////<summary>8///中国常用农历日期时间类9///zj53hao@/zj53hao10///</summary>11classChinaDateTime12...{13privateintyear,month,dayOfMonth;14privateboolisLeap;15publicDateTimetime;1617/**////<summary>18///获取当前日期的农历年19///</summary>20publicintYear21...{22get...{returnyear;}23}2425/**////<summary>26///获取当前日期的农历月份27///</summary>28publicintMonth29...{30get...{returnmonth;}31}3233/**////<summary>34///获取当前日期的农历月中天数35///</summary>36publicintDayOfMonth37...{38get...{returndayOfMonth;}39}4041/**////<summary>42///获取当前日期是否为闰月中的日期43///</summary>44publicboolIsLeap45...{46get...{returnisLeap;}47}4849System.Globalization.ChineseLunisolarCalendarcc;50/**////<summary>51///返回指定公历日期的阴历时间52///</summary>53///<paramname paramname="time"></param>54publicChinaDateTime(DateTimetime)55...{56cc=newSystem.Globalization.ChineseLunisolarCalendar();5758if(time>cc.MaxSupportedDateTime||time<cc.MinSupportedDateTime) 59thrownewException("参数日期时间不在支持的范围内,支持范围:"+cc.MinSupportedDateTime.ToShortDateString()+"到"+cc.MaxSupportedDateTime.ToShortDateString());60year=cc.GetYear(time);61month=cc.GetMonth(time);62dayOfMonth=cc.GetDayOfMonth(time);63isLeap=cc.IsLeapMonth(year,month);64if(isLeap)month-=1;65this.time=time;6667}。

公历和农历之间如何转换3

公历和农历之间如何转换3
daList(1936) = "100100110111030124"
daList(1937) = "100100101110000211"
daList(1938) = "110010010110170131"
daList(1939) = "110010010101000219"
daList(2004) = "010110101010120122"
daList(2005) = "010101101010000209"
daList(2006) = "101010101101170129"
daList(2007) = "001001011101000218"
daList(1956) = "010100101011000212"
daList(1957) = "101010010101080131"
daList(1958) = "111010010101000218"
daList(1959) = "011010101010000208"
daList(1960) = "101011010101060128"
daList(1961) = "101010110101000215"
daList(1962) = "010010110110000205"
daList(1963) = "101001010111040125"
daList(1980) = "100101011011000216"

公历转农历及星期

公历转农历及星期
/*Tim[10]为周数据/Tim[7]/Tim[8]/Tim[9]为农历数据,根据需要自行更换*/
//2010-09-23程序通过测试
/*==================================================*/
#include <intrins.h>
#define uchar unsigned char
0x69,0x6d,0x3C,0x09,0x5B,0x50,0x04,0x9B,0x45, // 1979-1981
0x4A,0x4B,0xB9,0x0A,0x4B,0x4d,0xAB,0x25,0xC2, // 1982-1984
0x06,0xA5,0x54,0x06,0xd4,0x49,0x6A,0xdA,0x3d, // 1985-1987
0x09,0x37,0x4B,0x84,0x97,0xC1,0x04,0x97,0x53, // 2051-2053
0x06,0x4B,0x48,0x66,0xA5,0x3C,0x0e,0xA5,0x4f, // 2054-2056
0x06,0xB2,0x44,0x4A,0xB6,0x38,0x0A,0xAe,0x4C, // 2057-2059
/*公历年对应的农历数据,每年三字节, 格式: *///0x0A,0x95,0x4e,
/*第一字节BIT7-4 位表示闰月月份,值为0 为无闰月, */
/*BIT3-0 对应农历第1-4 月的大小 */
/*第二字节BIT7-0 对应农历第5-12 月大小, */
/*第三字节BIT7 表示农历第13个月大小月份对应的位 */
uint code day_code2[3]={0x111,0x130,0x14e};
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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); }
"七","八","九","十","十一","腊"}; /*公历每月前面的天数*/ 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
"未","申","酉","戌","亥"}; /*属相名称*/ const char *cShuXiang[] = {"鼠","牛","虎","兔","龙","蛇",
"马","羊","猴","鸡","狗","猪"}; /*农历日期名*/ const char *cDayName[] = {"*","初一","初二","初三","初四","初五",
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)
"初六","初七","初八","初九","初十", "十一","十二","十三","十四","十五", "十六","十七","十八","十九","二十", "廿一","廿二","廿三","廿四","廿五", "廿六","廿七","廿八","廿九","三十"};
/*农历月份名*/ const char *cMonName[] = {"*","正","二","三","四","五","六",
公历转农历(C 版本)
Tags:版本 wCurMonth wCurYear if 农历 nTheDate nBit const 公历转农历(C 版本) PHP 开发环境的选择、建立及使用[8] 编写自定义任务,轻松扩展 Ant (2) 代联接的自定义右键 菜单面试中如何体现身价希特勒生日(4 月 20 日)突破生命中那条线怎么用 ado 打开带密 码的 access 数据库算法复杂度攻击激烈讨论在 Visual StudBiblioteka 中使用自定义插 公历转农 历(C 版本) 版本 wCurMonth wCurYear if 农历 nTheDate nBit const
,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};
前段时间做软件写了个公历转农历的函数,目前公开给大家参考,有兴趣的朋友可以在此 基础上进一步完善其功能 /*------------农历转换函数-----------*/ char *GetDayOf(PSYSTEMTIME pSt) { /*天干名称*/ const char *cTianGan[] = {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"}; /*地支名称*/ const char *cDiZhi[] = {"子","丑","寅","卯","辰","巳","午",
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;
相关文档
最新文档