日历查询农历查询 日历农历阳历表对照表
在国内,有许多民间习俗、节日都跟农历有关。对于想要了解农历的人来说,一个真实可信的日历农历阳历表对照表是必不可少的工具。
接下来,我们就来彻底了解一下日历农历阳历表对照表。一、日历与农历的区别日历与农历最大的各式各样在于计算方式不同...
日历采用太阳日位基础,每年365天,一年中四季分明,特点是平稳稳定,对于固定的时刻与日期有很高的准确性,常见的阳历就是采用日历计算的。
而农历则是按照农时变化来计算的,历法建立在月球运动位基础上。一年中的月亮圆缺阴晴不定,所以农历每年的天数区别,并且不像日历一样有固定的大小月!
农历的四季划分并不严密,相反对于一些民间习俗跟节日的庆祝有着重大的意义!以位例,春节、中秋节、元宵节等都是农历节日。

二、阳历和农历的转换由于...的原因阳历同农历计算方式不一样,因而两者之间要进行转换就要掌握一些转换方法...
1.阳历转农历:设阳历年、月、日位:Y、M、D一、计算阳历年距离1900年的天数。1901(年)——1950(年)=49(年)365×49+12=18,979(天)1950年1月1日————1900年1月1日=365+365+365+365+366=1826(天)18,979+1,826-1=20,804(天)二、计算年码(Y-1900)%12+1三、计算闰年数int k;k=(Y-1900)/4;k=k-(Y-1900)/100;k=k+(Y-1900)/400;if((Y%4==0&&Y%100!=0)||Y%400==0&&M>2) k++;else k=k;就是:k=(闰年数),也有说法k=负闰数)四、计算该日还没...的时候passedDayspassedDays=365(Y-1900)+k+(int)(30.6(M+1))+D-62;1月与2月要当成上一年的13月和14月,的:if(M<3) passedDays=passedDays+1;五、计算该日对应的阴历日期int total,k,rn,i;total=passedDays; /1900-1-31是阴历1900年正月初一/rn=1; /阴历月天数还是初始为大月/for (i=1900;i<=2100 && total>0;i++){k=chineseCalendarData[i-1900];
/农历每一年的天数,区分大小月/r=nDaysOfYear(type,i);/阳历每个月的天数/total=total-(k+(r?29:30));/累减每一年的天数/rn++;}if (total<0)total+=k+(r?29:30);rn--;return(rn100+passedDays+29);2.农历转阳历:农历转阳历需要用到以下字符串数组:char stZodiac[]={"344270255","345244256","345255227","346265225","345255246","346227245","344277241","347256200","345244247","346225260","345205255","346213253"};char stName[]={"","347224265","344275240","350262215","345246267","345231250","346205252","347220206","346224235","346227245","344277241","345265266","346231242"};int aSpecialMonth[]={0,2,5,8,10,13};其中"stZodiac[]"为十二生肖,"stName[]"为中文数字(一到十二),"aSpecialMonth[]"为十二个月中有闰月的月份。附上农历转阳历代码:void GetUpOffset(int &nTheDate)int nOffset;if (GetBit(nTheDate, 22) != 0)nOffset = 0;for (int i = 21; i >= 0; i--)if (GetBit(nTheDate, i) != 0)nOffset += aMonthAdd[i];if (aLeapMonth[GetBit(nTheDate, 23) - 1] != 0 && GetBit(nTheDate, 22) != 0)nOffset -= aMonthAdd[aLeapMonth[GetBit(nTheDate, 23) - 1] - 1];nOffset += aMonthAdd[12];elsefor (int i = 20; i >= 0; i--)if (aLeapMonth[GetBit(nTheDate, 21) - 1] != 0 && GetBit(nTheDate, 21) != 0)nOffset -= aMonthAdd[aLeapMonth[GetBit(nTheDate, 21) - 1] - 1];nTheDate = nOffset + GetBit(nTheDate, 9) + 29;int CCalendar::Lunar2SolarIndex( long dwLunarData )int Year, Month, Day;int LeapMonth = GetLeapMonth(dwLunarData);int DayCount = GetBitInt(dwLunarData, 17, 5);int BitMonth = GetBitInt(dwLunarData, 12, 4);int BitDay = GetBitInt(dwLunarData, 7, 5);int IsLeap = false;if (LeapMonth > 0)if (BitMonth >= LeapMonth)Month = BitMonth + 1;Month = BitMonth;if (Month == 12)Month = 1;if (Month <= LeapMonth)Year = GetBitInt(dwLunarData, 9, 4);if (Year <= BitMonth)Year--;IsLeap = (BitMonth == LeapMonth);Day = DayAdd[Year - MIN_YEAR] + GetBitInt(dwLunarData, 0, 7) - 1;auto solarAns = Lunar2Solar(Year, Month, Day, IsLeap);return solarAns.nDayIndex;三、在日常生活中,阳历日历还是更加人们喜爱跟使用.
但是,对于一些民间节日、举足轻重活动的举办等,农历日历占据着不可替代的地位.由此可见,了解日历农历阳历表对照表的转换方法,对于大家更好地了解民俗文化,也有非常要紧的帮助作用。
增缘分网






