万年历的计算,万年历是如何推算的

万年历春节的计算

春节的计算并不简单,大致过程如下:首先要定位上一个冬至日和下一个冬至日的日期。再根据这两个冬至日之间的完整的农历月数来判断是否需要置闰,最后。根据以上的农历月份信息,得出正月初一的日期。这就是春节的计算,看似简单,其实不简单。当然,简单的方法有——依靠我的农历库吧,一步搞定。(链接见最后)//农历类classCLunar{public://获取某个日期在该年的序数(范围在sYear-1年元旦到sYear+1年12月31日之间的三年时间)virtualboolGetDayOrdinal(_In_GDATEDateG,_In_signedshortsYear,_Out_signedshort&sDays)=0;//从该年的序数计算出日期(范围在sYear-1年元旦到sYear+1年12月31日之间的三年时间)virtualboolGetDateFromOrdinal(_In_signedshortsYear,_In_signedshortsDays,_Out_GDATE&DateG)=0;//获取星座virtualboolGetConstellation(_In_GDATEDateG,_Out_CO_INDEX&CoIndex)=0;//获取某一时刻的四柱(八字)virtualboolGetSizhu(_In_DATETIMEDatetime,_Out_SIZHU&Sizhu)=0;//农历转公历virtualboolLDateToGDate(_In_LDATEDateL,_Out_GDATE&DateG)=0;//公历转农历(获取农历日期,大小月,闰月)virtualboolGDateToLDate(_In_GDATEDateG,_Out_LDATE&DateL)=0;//获取农历某年年首月份(一般为正月)信息virtualboolGetFirstMonthInfo(_In_signedshortsYear,_Out_LUNARMONTH&MonthInfo)=0;//获取下个农历月份信息(与GetFirstMonthInfo配合使用)virtualboolGetNextMonthInfo(_Out_LUNARMONTH&MonthInfo)=0;//获取上个农历月份信息(与GetFirstMonthInfo配合使用)virtualboolGetPreviousMonthInfo(_Out_LUNARMONTH&MonthInfo)=0;//获取农历年当中指定索引的月份信息virtualboolGetMonthInfoByIndex(_In_signedshortsYear,_In_unsignedshortwMIIndex,_Out_LUNARMONTH&MonthInfo)=0;//获取公历某一年当中首个节气信息virtualboolGetFirstSolarTerm(_In_signedshortsYear,_Out_SOLARTERM&SolarTerm)=0;//获取下一个节气信息virtualboolGetNextSolarTerm(_Out_SOLARTERM&SolarTerm)=0;//获取上一个节气信息virtualboolGetPreviousSolarTerm(_Out_SOLARTERM&SolarTerm)=0;//获取公历年当中指定节气的信息,从立春到大寒为一年的二十四个节气virtualboolGetSolarTermByIndex(_In_signedshortsYear,_In_ST_INDEXStIndex,_Out_SOLARTERM&SolarTerm)=0;//判断是否为闰年(公历)virtualboolIsLeapYear(_In_signedshortsYear,_Out_bool&bLeapYear)=0;//获取数九,伏日virtualboolGetExtremeSeason(_In_signedshortsYear,_Out_EXTREMESEASON&ExtremeSeason)=0;//获取入梅、出梅virtualboolGetMeiyu(_In_signedshortsYear,_Out_MEIYU&Meiyu)=0;//获取春秋社日的年内序数virtualboolGetSheri(_In_signedshortsYear,_Out_SHERI&Sheri)=0;//获取某年的复活节日期virtualboolGetEasterSunday(_In_signedshortsYear,_Out_signedshort&sESOrdinal)=0;//获取两个日期之间的天数差virtualboolGetDays(_In_GDATEDateG1,_In_GDATEDateG2,_Out_signedlong&lDays)=0;//获取两个时间之间的天数差virtualboolGetDays(_In_DATETIMEDatetime1,_In_DATETIMEDatetime2,_Out_double&dDays)=0;//计算距离某个日期指定天数的日期virtualboolGetDate(_In_GDATEDateG,_In_signedlonglDays,_Out_GDATE&DstDateG)=0;//计算距离某个时间指定天数的时间virtualboolGetDate(_In_DATETIMEDatetime,_In_doubledDays,_Out_DATETIME&DstDatetime)=0;//初始化日期结构体virtualboolInitDate(_Out_GDATE&DateG,_In_boolbToday,_In_signedshortsYear=0,_In_unsignedshortwMonth=1,_In_unsignedshortwDay=1)=0;//初始化时间结构体virtualboolInitDateTime(_Out_DATETIME&Datetime,_In_boolbCurrentTime=true,_In_signedshortsYear=1,_In_unsignedshortwMonth=1,_In_unsignedshortwDay=1,_In_unsignedshortwHour=0,_In_unsignedshortwMinute=0,_In_unsignedshortwSecond=0,_In_unsignedshortwMilliSecond=0)=0;//初始化时间结构体virtualboolInitDateTime(_Out_DATETIME&Datetime,_In_GDATEDateG,_In_TIMEtTime)=0;//获取某一天的星期virtualboolGetDayOfWeek(_In_signedshortsYear,_In_unsignedshortwMonth,_In_unsignedshortwDay,_Out_unsignedshort&wDayOfWeek)=0;//DATETIME转GDATEvirtualGDATEInitDateFromDateTime(_In_DATETIMEDatetime)=0;//GDATE转DATETIMEvirtualDATETIMEInitDatetimeFromDate(_In_GDATEDateG)=0;//获取公历月份的总天数virtualunsignedshortGetDaysOfMonth(_In_signedshortsYear,_In_unsignedshortwMonth)=0;//获取公历年份的总天数virtualunsignedshortGetDaysOfYear(_In_signedshortsYear)=0;//获取农历闰月(范围是在sYear的农历年份内)virtualunsignedshortGetLeapMonth(_In_signedshortsYear)=0;//获取农历月份的总天数virtualunsignedshortGetDaysOfLunarMonth(_In_signedshortsYear,_In_unsignedshortwLunarMonth,_In_boolbLeapMonth)=0;//获取农历年份的总天数virtualunsignedshortGetDaysOfLunarYear(_In_signedshortsYear)=0;protected:CLunar(void);virtual~CLunar(void);};密码:6und

农历如何推算

首先我复制粘贴的,还有就是算法复杂,如果你的心算能力强就会更快些!阳历日期推算阴历日期的方法:阴历日期是以月亮的圆缺为计月单位,其以逢朔为初一,以月望为十五(大月为十六日),以月晦为二十九日(大月为三十日)。然而目前记时通常用阳历日期表达,如欲将阳历日期换算成阴历日期可以用以下两种方法:其一是查《新编万年历》,如查1984年6月8日是阴历几日?翻开万年历6月10日是阴历十一,则逆推6月8日是阴历初九。其二可以利用公式推算阴历日期: 设:公元年数-1977(或1901)=4Q+R 则:阴历日期=14Q+10.6(R+1)+年内日期序数-29.5n (注:式中Q、R、n均为自然数,R<4) 例:1994年5月7日的阴历日期为: 1994-1977=17=4×4+1 故:Q=4,R=1 则:5月7日的阴历日期为: 14×4+10.6(1+1)+(31+28+31+31+7)-29.5n =204.2- 29.5n 然后用29.5去除204.2得商数6......27.2,6即是n值,余数27即是阴历二十七日。 一、 推算年干支口诀 掌上推算年干支,支子花甲起根源。 阳支都是旬开始,天干为甲尾四年。 隔位逆推十年正,顺推年尾五零三。 逐支加减六十数,掌上推算千万年。 推算方法:“掌上推算年干支,支子花甲起根源。”此法是将地支排列在掌中,手掌上推算年干支的方法。 首先,在掌上将地支定位(图一),然后以地支子位为花甲子的开始,可定为1864,1924,也可定为1984年???,其年都是甲子年。“阳支都是旬开始,天干为甲尾四年。”地支中的子,寅,辰,午,申,戌都是阳支,而且也是每旬的开始,天干都为甲,即甲子,甲戌,甲申,甲午,甲辰,甲寅,这些年的公历尾数均为四。“隔位逆推十年正,顺推年尾五零三。”天干十数,地支十二数,天干与地支组合天干每循环一次,地支总与下二支(旬空)。其中余下的第一支便是下旬的开始。我们从地支子位开始,隔一位逆推,即从子位逆推隔亥到戌,恰是甲戌旬的开始,再逆推隔一位酉至申为甲申旬开始,------年尾数都为四,年间隔都是十年。在确定旬开始以后,以该年尾数四为起点,从下支开始挨位顺推,其公历年尾数分别是5,6,8,9,0,1,2,3,而后又是下旬的开始。“逐支加减六十数,掌上推算千万年”掌握此法推算,如果将甲子年定为1984年,按口诀可知1994年为甲戌,2004年为甲申,年为甲午等。确定每旬开始的公历年数后,可根据需要顺推任何一年的干支,虽意性很大,可推千年万年的干支。 二、推算月、时干支口诀 天干五合前为主,月时干序一至五。 年干隔数配寅月,日干配时本数身。 古往今来,年上起月,日上起时,是按天干五合的方法,分成五种情况,即甲、己之年(日)定月(时)的方法相同------。我们也采用这种方法,并一前一天干为主,即甲、己以甲为主,乙、庚以乙为主,------,配上序数甲为1,乙为2,丙为3,丁为4,戊为5(图二),成为推算月、时的固定序数。“年干隔位配寅月”,推算某年的月干,先看该年干与何干相合,然后按“天干五合前为主”的方法,查出该干的序数,并设此干为零,按序数隔干确定寅月的天干。如98年是戊寅,戊癸干合,戊年与癸年的天干相同,属于同一种定寅月天干法。五的序数尾5 ,从5 开始,隔己、庚、辛、壬、癸五天干到甲,就可以算出98年寅月的天干是甲,其他月的天干就好推算了。“日干配时本身数” ,此句推算方法与年干定寅月天干发基本相同,只是在确定日干合干以后,从合之干的前干本身算起,按序数查,到何干,便是该日子时的天干。如己日,己与甲同一类型,以甲干为主,甲的序数为“1”以本身配子时,该日子时的天干为甲,即甲子时。同样,癸日子时吧的天干,因戊癸合干,以五为主,序数为5,从5开始数到壬,癸日子时为壬子时。 二、 农历大小月卦口诀 一年上下两卦编,一七两月初爻安。 阴大阳小编上卦,遇有闰月年十三。 闰爻相邻爻间伏,确定年月按节算。 推算方法:此诀是为了掌握某年农历大小月的排列顺序和有否闰月而编的。“一年上下两卦编,一、七两月初爻安” ,在 正常情况下,农历每年为十二个月。我们可以将一至六月编为前卦,七至十二月编为后卦,几一年编为两卦,并以一月为前卦的处爻,七月为后卦的初爻。“阴大阳小编上卦,遇有闰月年十三”,我们将大月规定用用阴爻表示,小月用阳爻表示,按大小顺序用阴阳爻将一年编为两卦。遇到有闰月的年份就多出一个月,一年为十三个月。“闰年相邻爻间伏,确定年月按节算”。在出现有闰月的年份时,按闰月大小用阴阳爻表现出来,并标在 闰月的前后两月的爻位中间的左侧,如同伏卦一样,一看便知到闰几月,是大月还是小月。同时,提醒您农历年、的确定,不是按万年历编出的月份确定的,而是按节气确定的。如1998年,按上述方法可编成《井》和《坎》两卦,而今年闰5月为小月,上半年月卦符号为“: 。 : 。 。 : ”,下半年的月卦符号为“ = 丨 = = 丨 = ”,上半年卦第5、6爻间伏一阳爻,可知今年润五月为29天。 四、推算日干支口诀 推算日干支,可以按公历和农历两种方法推算。 ⑴ 农历日干支推算口诀: 大小月卦记心间,正一干支起根源。 大后干同地支冲,小后干支退一天。 初一十三二十五,支同隔干一位算。 推算方法:“大小月卦记心间,正一干支起根源。”农历的大月为30天小月为29天,固定不变。要推农历曰干支,先要按《农历大小月卦口诀》将推算之年编上两卦,以便在推算日千支时运。除此之外,还要记住农历正月初一日的干支,因为它是推算一年逐日的基础。“大后干同地支冲,小后干支退一天。”农历天干与地支组合,天干循环2.5次。根据这一规律,知道某月初一日干支,如果这个月是小月则应在干同支冲的情况下,干支各减一位,则是小月后下月初一日干支。如本月初一干支为己卯,这个月是大月,下月初一干支为己酉。如果这个月是小月,则下月初一干支应在己酉退一位后确定,即为戊申日。“初一十三二十五,支同干隔一位算。”此两句是在确定某月初一干支后,将这个月分成三个阶段,即初一至十二,十三至二十四二十五以后。初一、十三、二十五日在干支上也是有规律的。知道初一干支,只要将该日天干隔一位顺推,而地支不变。同理,知道十三日干支,支同干隔一位,也知道二十五日的干支。如初一日干支为甲子,则十三日干支为丙子,二十五日干支为戊子。掌握这个方法,就可以根据所推之日属于哪一段,便可以很快知道这天的干支了。 ⑵公历日干支推算口诀: 元旦干支为根源,大小二月记心间。 小月干同地支冲,大月上句加一天。 申子辰年年为闰,干同支冲退一天。 余年二月二十八,干同支冲退一天。 月首十三二十五,支同隔干一位算。 推算方法:“元旦干支为根源,大小二月记心间。”推算公历日干支,首先要记住元旦曰的干支。同时,还要知道大小月及二月的天数。公历大月为31天,小月为30天,其大小月是固定不变的,唯独二月有29天和28天之分。因此,要特别注意哪年二月为29天,那年二月为28天。“小月干同地支冲,大月上句加一天。”公历小月为30天,按农历大月推算口诀,我们知道本月初一日干支,与下月初一干支则是天干相同地支相冲。公历大月为31天,在小月干地相冲的基础上,干支各加一位数,即是大月后下月一日的干支。“申子辰年年为闰,干同支冲退一天。”经过研究,发现凡地支为申、子、辰的年为公历闰年,二月为29天。在推算3月1日干支时,可按农历小月后的日干支推算方法,即在干同地干冲的基础上,干支各减一位,则为3月丨日干支。“余年二月二十八,干同干冲退二天。”除地干为申子辰年二月29天,其它年二月均为28天。在知道2月1日干支后,按干同支冲规律,干支各减二位便是3月1日的干支。“月首十三二十五,支同干隔一位算。”月首,代表每月第1日。其推法与农历日干干诀后两句相同。 五.实例:推算1998年农历6月初10日午时的干支。 ⒈先按《农历大小月卦口诀》,将98年农历大小月,排上两卦,并标出闰月。同时,记住正月初一日和元旦日干支。 ⒉推算1998年的干支。我们按《推算年干支口诀》在手掌上将地支子位定为甲子,为1984年,并将大拇指按在地支子位上。按“隔位逆推十年正”,大拇指从甲戌94年开始顺推,即94年为甲戌,95年为乙亥,96为丙子,97年为丁丑,98年干支则为戊寅。 ⒊推算农历6月份干支。确定1998年戊寅干支以后,按《定月时干支诀》,戊干与癸干合以戊为主,戊的序数为5,将大拇指固定在戊位上。“年干隔位配寅月”,从戊位开始,将大拇指顺数,隔过天干,已,庚,辛,壬、癸五干到甲,便是98年正月的天干,即正月干支为甲寅,再从寅支开始,按甲,己,丙,丁,戊6月干支为己未。 ⒋推算6月初10日(公历8月1日)干支。 ⑴推算农历日干支。如前所述,98年大小月卦为《井》和《坎》。因为闰5月为29天,为阳爻,伏在《井》卦第5、6爻问,卦形为 =丨= 丨丨= 。 因为要推算的是农历98年正月初一日干支为己亥,先用大拇指在手掌亥支上定位,然后按《农历日干支推算诀》中的“大后干同地支冲,小后干支退一天”的规定,逐月推算初1日的干支。正月为大,干同支冲,大拇指跳到巳位上,2月初1日干支为已巳;干同支冲各减1,大拇指跳到亥位后,再减1位,3月初1日干支为甲戌;3月为小,干同支冲各减1大拇指跳到辰支后退1位,4月初1日为癸卯;4月为大,干同支冲,大姆指跳到酉干,5月初1日为癸酉;5月为小,干同支冲各减1,大拇指跳到卯支再退1位,闰5月 初1日为壬寅。闰5月为小,干同支冲各减1,大拇指跳到申支后再退一位,六月初一干支为辛未。知道6月初1日的干支后,从此位顺推初10曰的干支为庚辰。 ⑵、推算公历8月1曰干支。 98年干支为戊寅,年支不属于申子辰,故98年2月为28天。按《曰公历干支推算口诀》中“小月干同地支冲,大月上句加一天------,余年二月二十八,干同支冲退两天”的规律,逐月推算。98年干支戊申,大拇指定在申位上。1月为大,干同支冲加一天,大拇指由申位到跳到寅,加1支到卯,2月1日为己卯,2月28天,干同干冲退二天,大拇指跳到酉位退二支,3月1日为丁未;3为大,干同支冲加1天大拇指跳到丑进一位4月1日干支为戊寅;4月为小,干同干冲,大拇指跳到申位,5月1日干支为戊申;5月为大,干同支冲加1天,大拇指跳到酉位,7月1日干支为己酉;7月为大,干同支冲加1天,大拇指跳到卯进1位到辰,8月1日干支为庚辰。 ⒌推算农历6月初10(公历8月1日),该日干支为庚辰。我们按《定日时干支诀》知道,该日干庚与己相合,按“天干五合前为主”,以天干己来推算,己的序数为2,将大拇指定在天干己的位置上。“日干定时本身数”,大拇指从第二位到丙,可知庚辰日子时为丙子。将大拇指从丙子顺推到午年时,天干为壬,午时干支为壬午。 经过在掌上推算年、月、日、时干支,可知98年农历6月初10日(公历8月1日)午时干支,分别为戊寅年己未月庚辰日壬午时。 六、需要注意的几个问题。 ⒈要在理解《冯氏掌上巧推年月日时干支法》的基础上,将巧记口诀和在掌上定位推算结合起来,并经常对照万年历进行推算,才可能达到熟练生巧,运用自如。 ⒉再运用此法时,应先制定一种表格,并随身携带,供推算年干支时使用。 此表格如下: 年序号 本年大小月卦(闰) 立春月日时 正月初一日干支 元旦日干 支 1988 :丨:丨丨::丨::丨: 正月初八庚子日辰时 己亥 戊申 1999 丨丨:丨丨:丨:::丨: 腊月十九丁亥日未时 甲子 癸丑 在推算逐日干支时,一定要注意大小月,分清干同支冲和干同干支冲加减的区别。 掌上巧推年月日时干支法(附录) 一、 逐年推算元旦干支口诀 欲推来年元旦日,先知今年日干支。 申子辰支年为闰,干加六位支冲支。 余年天干加五位,干冲退一便可知。 推算方法:“欲推来年元旦日,先知今年日干支。”推算来年元旦日的干支,必须先知道今年元旦日的干支,并用大拇指在掌上定位。“申子辰干年为闰,干加六位支冲支。”凡年支临申子辰的为闰年,2月29天。推算下一年元旦日的干支,只要大拇指从今年元旦日支位,跳到相冲的地干支位上,而后天干顺加六位,便是来年元旦的干支。“余年天干加五位,干冲退一便可知。”除申子辰年外,其它年干2月均为28天。大拇指在掌上定好今年元旦日支位置,推算来年元旦干支时,将大拇指跳到相冲之支退一位,天干加上五位,即是来年元旦的干支。 二、逐年推算正月初一日干支口诀 欲推来年正一月,先知今年日干支。 常年退回小月数,闰月小数五六七。 小六干同天隔三,迂五前句各加一。 逢七支同天隔三,各退一位定无异。 推算方法:“欲推来年正一月,先知今年日干支。”推算来年正月初一日的干支,必须先知道今年正月初一的干支。“常年退回小月数,闰月小数五六七。”常年,指没有闰月的年份。推算农历正月初一干支,要按《农历大小月卦口诀》,逐年编上两卦,以便确定某年的小月数。如果今年没闰月,求来年正月初一日干支。经过研究,凡有闰月之年小月数分别为五、六、七三种。“小六干同天隔三,迂五前句各加一。”闰月之年,如果小月数为六,来年正月初一日干支,于前一年初一日干支则是地支相同,而天干则顺隔三位。小月数为五的,按干同天顺隔三后干支各进一位,便是来年正月初一日干支。“逢七支同天隔三,各退一位定无异。”闰月之年小月数为七的,在确定当年正月初一日干支后,推算下一年正月初一日干支,只要按支同天顺隔三位后,干支各减一位,便时来年正月初一日干支。 三、 用卦象推算公历各月第一日干支法 用卦象推算公历各月第一日的干支,主要是按公历大小月固定不便的实际,编上一个适用任何一年的卦象。然后按大小干支循环规律,进行推算各月第一日的干支。公历年大小月固定卦象,上半年是《未济》卦,下半年为《蹇》卦,其卦象如图三所示。在推算过程中,要特别注意二月,因为有28天和29天之分,所以在《未济》卦象的等二爻,标上闰年合非闰年字样,以便在推算时引起注意。在推算时,要将《公历曰干支推算口诀》做为依据,确定下月第一日干支,然后按“月首十三二十五,支同隔干一位算”,推算出所求之日干支。图三。 6月 丨 一曰干同地支冲+1 12月 = 一日干同支冲 5月 = 一日干同地支冲 11月 丨 一日干同支冲+1 4月 丨 一日干同地支冲+1 10月 = 一日干同支冲 3月 = 闰一日干同地支冲+1 09月 丨 一日干同支冲+1 2月 丨 闰年2月29天,非一日干同支冲—2 08月 = 一日干同支冲+1 非闰年2月28天,一日干同支冲+1 1月 = 元旦日干支 07月 = 一日干同支冲 四、 用卦象推算农历各月初一日干支法 农历大小月,其天数固定不变,即大月30天,小月29天。但是,由于大小月的排列不规则,因此要按《农历大小月卦口诀》先编上本年的上下半年的月卦。然后依据两个卦象,参考《农历日干支推算口诀》,在知道正月初一的日干支后,按“大后干同地支冲,小后干支退一天‘的规律,运用卦象来推算农历各月初一日的干支。经研究发现,农历相邻两月大小月的排列,共有四种类型,其推算逐月初一干支法如下: ⑴ 两小月相邻同支冲 ⑵ 两大 — 下月干同支冲—1 = 下月干 — 本月初一日干 = 本月初一日干支 ⑶大小月相邻 ⑷ 大小月相邻 — 下月干同支冲 = 下月干同支冲—1 = 本月初一日干支 — 本月初一日 △ 实例:推算2001年各月初一干支 ⒈按《农历大小月卦口诀》,先将2001年编上月卦。上半年为“艮”卦,下半年为“既济”卦。 ⒉2001年正月初一日干支为丁亥。 ⒊推算时,要将1、2月,3、4月等相邻两月,与四种排列类型对照,然后按相同类型进行推算。 ⒋根据卦象,逐月进行推算。 6月“ — ”干同支冲己酉 12月“ = ” 干同支冲—1辛巳 5月“ — ”干同支冲—1己卯 11月“ — ” 干同支冲壬子 闰4月“ — ”干同支冲丙戌 10月“ = ” 干同支—1壬午 4月“ — ” 干同支冲—1丙辰 9月“ — ” 干同支冲葵丑 3月“ — ” 干同支冲丁亥 8月“ = ” 干同支冲—1癸末 2月“ — ” 干同支冲丁巳 7月“ — ” 干同支冲—1甲寅 1月“ — ” 正月初一丁亥 经过逐卦推算农历12月初一为辛巳。

农历新历换算

农历怎么换算成新历? 阴历是中国古制的时间计算方式,阳历是国际使用的时间计算方式。1993年阴历9月13是阳历1993年10月27日 农历新历怎样换算 国历换算为公历 1.换算公式的导出 公历每年365.242 199074075 日 (简化为365.2422日),而回历每年为354.367074375日(简化为354.36707日),所以回历一年只相当354.36707/365.2422=0.970223或0.970224个公历年。又回历元年元旦定在公元622年7月16日,由于当时历法在推算上的误差,致当时的7月16日,按现代的公历应改为7月19日,自公元某年元旦至该年7月19日已达200日.相200/365.2422=0.5476公历年;又因到回历二年元旦才达到0.970224个公历年,故自回历纪年元旦换算为公历的算式即为: (回历纪年一1)× 0.970224+622.5476年 =所求公历年月日……………………………………………………………………………(1) 或 回历纪年 × 0.970224+621.5774年 =所求公历年月日……………………………………………………………………………(2) 式中621.5774来自622.5476-0.970224。 如所求某一历史事实不在回历元旦时,可将事实经过本年的总日数化为回历年,加人回历纪年总数中即可。 然而上列公历一年的总日数,实际上是一回归年的实测数,因现用公历每年的日数实为365.2425日,它与一回归年的日数只能是基本相符,到公元四千多年后会再出现一日之差。 实际上在明万历十年九月十八日,回历990年9月16日,公元1582年10月4日前(包括4日)的公历称儒略历,儒略历每年365.25日,它每年与一回归年的差值远大于格列高利历即现代的公历,大约历128年就需多闰去一日,至万历十年已经多闰出十日了。因此,对于儒略历时期的回、公两历换算,不能仍采用(l)、(2)两式,而需依儒略历的年实际日数将上列二式略加修正即可,结果如下: (回历纪年一l)× 0.9702+622.5393 = 所求公历年月日……………………………………………………………………………(3) 回历纪年 × 0.9702+621.5691 = 所求公历年月日…………………………………………………………………………(4) 式中0.9702为354.36707/365.25所得结果,而0.5393则系公历某年元旦至其7月16日的总日数197被365.25日除之所得,622.5393-0.9702= 621.5691。 现将两种算式自回历第52年起,每隔百年所算得的公历年月日列人下表: 国历换算为公历 自表列计算结果得知,历法不同不能用同一算式,否则误差大大。万历十年前即已发现儒略历的春分所在日期与实测结果相差较大,至万历十年已差十日,因此格列高利第十三就决心修改儒略历,改革内容有两点,其一,将公历1582年10月4日之后一日原应为10月5日而改为10月15日,而星期序数不变,即该年10月4日为星期四,10月15日理应为星期一,实为星期五;其二,儒略历每四年有一个闰年,四百年有百闰,格列高利历仍保持儒历四年一闰的传统,但每四百年仅安排九十七个闰年,四百年中逢百年不闰,到第四百年加一个闰年[6]。儒历与格历的岁实分别为: 儒历(365 ×300+366 ×00)÷ 400年=365.25日/年 格历(365 × 303+366×97)÷ 400年=365.2425日/年而《明史・历志》所载的 *** 宫分历(太阳历),一百二十八年闰三十一......>> 农历新历怎么计算? 你说的新历即公历,也称阳历。是以地球绕太阳一周的时间定为一年,共365天零5小时多近6小时,平年只算365天。那多出的5小时多近6小时,平均约每隔4年加一天到2月份,所以有时公历的2月就有29天。 而你说的农历即阴历,也称夏历。以月亮圆缺一次的时间为一个月,每月29天半。一年约为355天,大月30天,小月29天。由于农历一年的天数与地球年(公历)相差约11日左右,所以约每3年要置一闰月,每19年要置7个闰月,使得平均每年的天数跟地球年(公历)全年的天数相接近,来调整四季。具体闰哪个月,则要视节气情况灵活而定,如今年便是闰5月。 正由于公历和农历的计算方法不同使每年的天数不同,而每年的第一天的起始时间也不同,所以使公历和农历的月份和日期不同步,大致相差一个月左右。 因为农历是我国历史上一直采用的历法,所以我国绝大多数的地方都是以出身时的农历来确定人的生日,这也是一种民族习惯。 但由于公历计时准确且方便,因此世界上大多数国家都采用公历,我国也早在辛亥革命后的1912年正式采用公历。所以在正式的场合出身年月都是用公历,如身份证、档案记录、履历表等等。 你会查万年历,了解了以上的情况后就容易懂了。再告诉你一个很简单的方法看万年历,一般在上面用 *** 数字标示的是公历的日期,在 *** 数字下面用中文数字标示的就是农历的日期。 如你说的1991年4月7日出生的: 1、如果这是公历的日期,那万年历上对应的 *** 数字4月7日下面的中文数字二月二十三就是你农历的生日。 2、如果这是农历的日期,那万年历上对应的中文数字四月初七上面的 *** 数字5月20日就是你公历的生日。 日期里的农历公历阴历阳历怎么换算? 百度一下 太复杂了 自己研究 公历农历转换 公历,它是国际通用的。阳历 以地球绕太阳转一圈的时间定做一年,共3 65天5小时48分46秒。平年只计365天这个 整数,不计尾数;一年分做12个月,大月31 天,小月30天,二月只有28天。四年的尾 数积累起来共1天光景,加在第四年的二月 里,这一年叫做闰年。所以闰年的二月有2 9天。阴历以月亮圆缺一次的时间定做一个 月,共29天半。为了算起来方便,大月定 做30天,小月29天,一年12个月中,大小 月大体上交替排列。阴历一年只有354天左 右,也没有平年闰年的差别。 阴历不考虑地球绕太阳的运行,因此使得 四季的变化在阴历上就没有固定的时间, 它不能反映季节,这是一个很大的缺点。 为了克服这个缺点,后来人们定了一个折 衷的历,就是所谓阴阳合历。现在我国还 在使用的夏历(也有人叫它农历或阴历),就 是这种阴阳合历。它跟阴历一样,也以月 亮圆缺一次的时间定做一个月,也是大月3 0天,小月29天,可是它又用加闰月的办法 ,使得平均每年的天数跟阳历全年的天数 相接近,来调整四季。夏历约每过二、三 年多一个闰月。“阴历”又名“太阴历”,系以 月球绕行地球一周为一月,再配合地球绕 日一周之时数为一年,实际上等于阴阳合 历,我国在民国元年前采用此历,为与现 行之历相对称,故名之曰“旧历”。一般人以 为阴历适合于农家,而名之日“农历”。 农历转换公历对照表 是公历1945年4月29日 星期日 农历和公历是怎么转换的?(怎么算的?) 你是要口算还是要用笔算? 告诉你,这样子算不靠谱的,根本算不出来,涉及到的转换不是简单的几个公式能得出,相反,它的转换相当复杂。 如果有兴趣编写程序的,我可以提供转换函数库,调用一个函数就可以实现农历与公历的互转了。 目前我已经完美地实现了转换,如果需要,我可以提供。 如何将农历转换为公历 是公历11月13日。这日历上有,要问怎么换的,当然公历是固定的,1、3、5、7、8、10、12月都是31天,2月28天(每4年润一次月,像2008年够4整除,润2月29天),其余的都是30天。 对于农历,它实质是阴历,沿用的是太阴历,这是一门很复杂的天文学知识。它包括24节气。 记住阳历是:1、3、5、7、8、10、腊,31天都不差,其余都是30天,除了2月28. 若是闰月2月29天,只多一天。 阴历怎么换算阳历? 每月初一叫做朔,最后一日叫做晦。农历十五或十六或十七叫做望,望的后一天叫做既望 所以每年春节的大年三十并不在同一天。农历的基础是「回归年」和「朔望月」。「回归年」是太阳接连两次通过春分点所需的时间,即365.2422日(365日5小时48分46秒)。「朔望月」是月球接连两次朔(新月)或两次望(满月)相隔的时间,即29.5306日(29日12小时44分3秒)。 由于12个「朔望月」只有354.3672日,跟「回归年」的365.2422日相差超过10日,把相差累积起来便成为闰月。早在公元前五、六百年的春秋时代,中国历法便采用十九年七个闰月的安排 但中国的农历和 *** 的农历以及韩国的农历计算方法不一样,一般要相差一二天。 阴历日期是以月亮的圆缺为计月单位,其以逢朔为初一,以月望为十五(大月为十六日),以月晦为二十 九日(大月为三十日)。然而目前记时通常用阳历日期表达,如欲将阳历日期换算成阴历日期可以用以下两种方法:其一是查《新编万年历》,如查1984年6月8日是阴历几日?翻开万年历6月10日是阴历十一,则逆推6月8日是阴历初九。其二可以利用公式推算阴历日期: 设:公元年数-1977(或1901)=4Q+R 则:阴历日期=14Q+10.6(R+1)+年内日期序数-29.5n (注:式中Q、R、n均为自然数,R

怎样计算万年历

1。平年365天(52周+1天),闰年366天(52周+2天)。平年2月28天,闰年2月29天。 由于公元1月1日设为星期六,故3月1日为星期三。 ——注意这个“三” 为使算法达到最简,故本算法以“星期”为计算单位。且选3月1日为基月。 2。每400年整一闰,或每4年且不为百年的一闰。(原因:地球绕太阳一周的时间是365天5小时46秒,为了使一年的天数为整数,将一年的天数定为365天,余下的时间积累起来,四年就是23小时15分4秒,将近一天,把这一天加在某年的二月而成29天,该年称为闰年,其它年称为平年。但四年加一天又多用了44分56秒,这个数积满400年为三天。因此400年中只能有97个闰年,所以凡能被400整除,或不能被100整除但能被4整除的年份为闰年。) 所以百年%4=0闰或(年%4=0并且年<>0)闰。 3。每 4年(3个平年+1个闰年)共208周+5天 ——注意这个“5天” 每百年共100*(208周+5天)-1天=5217周+5天 ——注意这个“5天”(整百年暂设为平年) 每400年共4*(5217周+5天)+1天(整400年闰)=20871周+0天——注意这个“0天”和 “1天”(4个整百年只有一个闰年) 即400年一轮回!(原来万年历400年前是一家) 蔡勒(Zeller)公式 历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式(两个通用计算公式和一些分段计算公式),其中最著名的蔡勒(Zeller)公式 即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

民间推算万年历,推算万年历口诀

推算万年历

,很多很多年以前,在山青水秀的定阳山下,有个不太大的村庄。村头山坡上,有间小石屋,住着一个名叫万年的青年。他家境贫寒,以打柴挖药为生。那时节令很乱,弄得庄稼人无法种田。万年是个有心计的青年,想把节令定准,可是,不知从哪里下手。

一天,万年上山打柴,坐在树下歇息,树影的移动启发了他,他就制了一个日晷,测日影计算一天的长短。可是,天有云阴雾雨,影响测记。他就想再做一件记时器具,好弥补日晷的不足。那天,他上山挖药,来到泉边喝水,崖上的泉水有节奏地滴答滴答地响着,引起了他的注意。他望着泉水出。思索了一阵,回到家里,画了画,试了试,做成了五层漏壶。从此,他测日影,望漏水,勤勤奋奋。慢慢的,他发现每隔三百六十多天,天时的长短就会从头重复一遍。最短的一天在冬至。

那时的叫祖乙。节令失常,使他很着急。就召集百官。朝议节令失常之困。节令官叫阿衡,不知道日月运行的规律,就说是人们作事不慎,得罪了。只有跪祭,才能得到上神的宽恕。祖乙就素沐浴。领百官去天坛,并传谕全国,设台祭天。

但祭来祭去,不见收效,时令照旧很乱;各地的老百姓为了修建祭台又得服役,又得出捐,真是胆汁拌黄连。苦中加苦。万年忍不住了。就带着他的日晷和漏壶会见。

万年见了,说了冬至点,讲了日月运行周期。祖乙听罢,心中大喜,即令大兴土木,在天坛前修建日月阁,筑上日晷台,造上漏壶亭。又拨了十二个服侍万年。万年让六个守日晷,六个守漏壶,精心记录,按时报告。

一天,祖乙让阿衡去日月阁询问制历情况,万年指着草历说:”日出日落三百六,周而复始从头来。草木枯荣分四时,一岁月有十二圆。”阿衡一听,深觉是理,心中却不安起来。他暗想:要是万年把节令定准,心喜,重用万年,谁还听我阿衡的?阿衡想啊想啊,一心想把万年除掉。

那天阿衡打听出一个善射的利客,就派人请到家里,摆上酒筵,说明原由,许以重礼。刺客答应当夜就去行刺。天交二鼓,刺客趁酒兴离开了阿衡,向日月阁奔去。怎奈天坛周围,日月阁下,有卫士严守,刺客不能近前,就拉弓搭箭向日月阁上正观星象的万年射去。谁知刺客喝酒过多,眼睛发昏,飞箭只射中万年的胳膊。万年哎呀一声倒在地上,众急呼拿贼。卫士们听到喊声,一齐出动,捉住刺客,扭见。

祖乙问明实情,传令将阿衡收了监,又立印出宫登上日月阁看望万年。万年非常感动,指着申星说:”申星追上了蚕百星,星象复原,夜交子时,旧岁已完,时又始春,望定个节吧。”

祖乙说:”春为岁首,就节吧。爱卿入阁,三载不出,披肝沥胆,以月圆为准制出太阴历,真是功高德重。如今爱卿被奸佞暗算,且随我到宫中调养吧。”

万年说:”太阴历虽然草创,但还不十分准确,岁尾还剩有点滴时辰。如不把这岁末尾时润进去,日月如梭,过来过去又会错历。臣负所望,深受之恩,愿碎心日月阁,细心推算,把草历定准。”

就这样,万年在日月阁中,仔细观察草木麦菽的荣枯,精心推算,把岁末尾时积日成月润了进去。那年五月,祖乙到天坛行祭,祭罢,又登上日月阁,把祭神的五月鲜桃赐给万年。万年献上太阴历,祖乙望着日夜操劳的万年,眉也白了,须也白了,深受感动,就把太阴历定名为万年历,还封万年为日月寿星。因此,后来人们也把春节称做年,每每过年之时屋里挂上寿星图,象征新岁添寿,也是对功高德重的万年寄以怀情。

以上就是与推算万年历相关内容,是关于祖乙的分享。看完推算万年历口诀后,希望这对大家有所帮助!

万年历六十甲子,怎么用六十甲子计算年份

提起万年历六十甲子,大家都知道,有人问怎么用六十甲子计算年份,另外,还有人想问每年的第一个甲子日是哪天,如果不固定该如何推算。,你知道这是怎么回事?其实六十甲子年份对照表,下面就一起来看看怎么用六十甲子计算年份,希望能够帮助到大家!

返回顶部