当前位置:首页 > 星座运势 > 正文

回历、公历、农历的换算

农历换算

回历公历农历的换算2002-2-马肇曾阅读9061次研究世界伊斯兰教历史免不了要对以回历所记载的历史事实换算为公历或将所载的公历换算为回历《回历纲要》《历法丛谈》《万年历谱》以及《回回天文学史研究》[1--4]等专著都载有自回历换算为公历的算式并称两历因闰年的时间不同故换算结果常有一日之差惟均未讨论一日之差的简易订正方法1998年《北京大学学报》自然科学版载文讨论了中国农历与公历回历的换算问题[5]惟笔者依上列著作中所列算式推算结果发现与实际所载日期误差常大于一日最高可达十日之多因此有必要对计算中误差的来源及计算公式的改进进行探讨特撰此文二国历换算为公历1.换算公式的导出公历每年365.日简化为365.2422日而回历每年为354.日简化为354.36707日所以回历一年只相当354.或0.个公历年又回历元年元旦定在公元622年7月16日由于当时历法在推算上的误差致当时的7月16日按现代的公历应改为7月19日自公元某年元旦至该年7月19日已达200日.相2476公历年又因到回历二年元旦才达到0.个公历年故自回历纪年元旦换算为公历的算式即为回历纪年一1×0.+622.5476年=所求公历年月日1或回历纪年×0.+621.5774年=所求公历年月日2式中621.5774来自622.5476-0.如所求某一历史事实不在回历元旦时可将事实经过本年的总日数化为回历年加人回历纪年总数中即可然而上列公历一年的总日数实际上是一回归年的实测数因现用公历每年的日数实为365.2425日它与一回归年的日数只能是基本相符到公元四千多年后会再出现一日之差实际上在明万历十年九月十八日回历990年9月16日公元1582年10月4日前包括4日的公历称儒略历儒略历每年365.25日它每年与一回归年的差值远大于格列高利历即现代的公历大约历128年就需多闰去一日至万历十年已经多闰出十日了因此对于儒略历时期的回公两历换算不能仍采用l2两式而需依儒略历的年实际日数将上列二式略加修正即可结果如下回历纪年一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..5691现将两种算式自回历第52年起每隔百年所算得的公历年月日列人下表表1国历换算为公历-2-自表列计算结果得知历法不同不能用同一算式否则误差大大万历十年前即已发现儒略历的春分所在日期与实测结果相差较大至万历十年已差十日因此格列高利第十三就决心修改儒略历改革内容有两点其一将公历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日/年而《明史·历志》所载的回回宫分历太阳历一百二十八年闰三十一日其岁实128×365+31日÷128年=365.日年可见共置闰精度远高于现代的公历2.换算中一日误差之订正《历法丛谈》以回历1387年为例求算合公历之年月日解11387×0.+621.5774=1967.年0.年×365.2422日=101.569日公历累计日数为101.57日可视为4月11日或4月12日究竟是哪一日当依两历在公历4月11日或12日间所具有同一的星期序数以订正依回历岁首星期序数计算公式[138-1×131+164]÷30=6057余÷7=865余2故回历1387年元旦为星期2表-2-按公历自1583年元旦星期六至1967年4月11日共历1967-1583=384年在这384年中依格列高利历四年一闰百年不闰四百年加一闰日的规则共历93个闰日又1967年元旦后一日起至4月11日又需加100日则384×365+93+100+6÷7=+7=2001余2余2即星期2故回历1387年元旦在公历1967年4月11日因公历计算星期日数采用数据较多计算

时难免有所遗漏现引人公历日期与星期推算表阿供参考应用此表查找公元1967年4月11日星期序数步骤如下先在本表年份表前二位数字栏目中查到19二字所在的位置再在年份表后二位数字栏目中查到67二字所在位置自19二字处平行右移67二字处垂直下移二者在英文大写字母栏目中相交于字母G处再自月份表栏目中查到4月自4月所在位置平行左移查到G在4月栏目所在位置自日期栏目查到11日所在位置自此位置平行右移使与4月份栏目G在星期表相交处知为星期二结果与回历计算所得相同故知回历1387年元旦确为公历1967年4月11日而不是12日在换算中所得公历日数常多于31日甚至常在日或更多需要将此数化为该年的月日时可用下列两表表3公历月份及其累计日数-2-三公历换算为回历将回历换算为公历的算式移项整理即可得到公历换算为国历的算式公历纪年一621.5691÷0.9702=回历年月日儒略历5公历纪年一621.5774÷0.=回历年月日格氏历6无论回历换算为公历或相反大体都有一日之差以星期序数订正时回历换算为公历以回历的星期序数为准相反以公历的星期序数为准四国历或公历换算为中国农历1.回历换算为农历仅管中国农历各年在年内月数日数都不是一个相对的稳定值给回历与公历换算为农历上带来较多的困难但仍然可以换算中国农历为阴阳合历在月份上与回历同属太阴历惟回历每月以见新月为一月之始其日约迟于农历合朔初一日12日乃至3日因此只要查清二者在月份上关系便可将回历换算为中国农历马以愚先生称回教纪年及斋戒之月均依太阴历中国昔用夏正即农历有闰之年年为十三月故斋戒之月遇闰则连退如今岁斋戒值夏正之九月岁逢闰改岁当以八月为斋[8]故若求得积年及所历大阴历的月数即可依农历十九年而有七个闰月的规律将农历换算为回历其日当有l2日之差计算举例已知西域鲁穆马依泽公于宋太祖建隆二年961应召人华编修《应天历》并将伊斯兰天文传人中国他的事迹已收人《中国伊斯兰百科全书》[9]与《中国回族大词典》[10]等被列为伊斯兰与中国回族之大事据《怀宁马氏宗谱》记载依泽公应召人华时年已四十生于回历勒比阿立勿里月拉比尔·奥沃勒月即回历三月第二十日故于宋真宗景德二年1005五月初十日宋太祖乾德四年966八月十三日奉旨授世袭候爵兼司天监求依泽公生于公历与农历的年月日解马依泽于宋建隆二年五月后来到中国时年已四句已知建隆二年二月初三日为回历310年元旦由此可知马依泽公生于回历310年3月20日合公历310×0.9702+621.5691=922.3311年0.3311×365.25=120.日回历310年元月1日合公历922年5月1日再加78日为回历3月20日公历7月18日又据农历19年而有7个闰月并依斋戒之月遇闰则递退一月的规则求算出回历310年元旦约合农历之月份为922-622=300年300÷19×7=15.7895×7=110.53个月又每闰12个月为一年除去不算110.53÷12=9余2.53即后退2月自武德五年六月初三日退后2月为四月即依泽公生于梁龙德二年四月二日再加78日合六月二十一日或二十日2.公历换算为农历张家骥称《泷冈阡表》中最末一段宋熙宁三年岁次庚戌四月辛酉朔十有五日乙亥男修表试算为阳历日期他又说已知二十四节气在黄道上的位置是固定的但各年有平年和闰年之分就使得回归年天数与实际天数不等每年在日历上可差一天这样可以将阴历经过任意整回归年在现在的日历上查到阳历阳历一年相当阴历的月数为365..=12.36827个月例如可先在1995年的日历上查得与该年阴历对应的阳历日期这样就找到了临时落脚点也就是找到了阴阳互换的关键例如可先以阴历四月初一日为引数在1995年日历上查到对应的阳历为4月30日由于已经计算出经过的月数将经过的月数的尾数小数化为日加在4月30日上就得到经过1995-1070整年数的阳历日期也就是起始阴历日期对应的阳历日期即得到了待查的日期为4月30日加上0.64957×29.得到1070年5月19.日这样就得到了所给例子的阴阳历日期换算结果0.64957月的由来1995-1070×12.36827=11440.64957月已知依泽公生于梁龙德二年922六月二十一日依下表提供的2099年各月初一日的公历月日数可以算出龙德二年六月二十一日的公历月日数表5公元2099年农历各月初一日的公历月日-2--922×12.36827=1455.45379月余数为0.45379月×29.日=13.4O日因2099年五月初一日包括该年闯二月在公历6月19日加上计算所得的13日为龙德二年六月初一日的公

历月日即该年7月2日则该年农历六月二十一日为该年7月22日公元1995年六月初一日合公历该年6月28日代人以上计算程序亦得到上列相同或相近的结果计算中发现农历因闰月关系其正月如1996年常在该年公历2月此时可换用下表的公历月日表6公元2100年农历各月初一日与公历的月日-2-.计算结果的订正实际上上列公历换算为农历时常有较大的误差如熙宁三年四月初一日为公历1070年5月13日而不是5月19日通过中国历法所用的于支记日法求算所用两历的干支对所求结果加以订正如马依泽公生于回历310年3月20日自回历历元起算共历日数为自回历元旦至其3月20日共历79日自回历元年元旦至309年元旦共历113个闰年196个平年又回历历元在公历622年7月16日已知该日的干支序数为50癸丑日减1因自甲子起算余49应加入下列算式中309×354+113+79+49÷60=1827..×60=7干支序数为7即庚午日求公历922年7月18日的干支儒略历900年的干支序数为900×365.25÷60=5478.75余数为0.75×60=4522年的于支序数为22×365.25+7÷60=134余2.5按3计式中的7为儒略历元年元旦的干支序数又7月1日自该年元旦起算共历182日干支序数为2再加17日为7月18日45+3+2+17÷60=1余7结果与回历计算所得相符即依泽公生于回历310年3月20日中历庚戌日4求首朔干支[11]以上计算所得的中历干支应为所求月内的几日如对所求月首即月初一日的干支尚不清楚则求得的干支不能算出它在月内的日数首朔是指农历每年冬至平冬至后第一个朔日冬至都在农历年前的十一月故首朔就是所求该年前的十二月初一日的干支历象考成后编》以雍正元年172冬至起算其干支系数为32.12253干支为丙申而冬至后的15.12633日为首朔干支为壬子33+15.12633自此可求算出922年7月即农历六月初一日的干支以确定本文四·3节中所求的干支为该年六月第几日求算过程如下先以1722减921所得之数称积年积年乘岁实之积为经此积年所历日数所历日数减32.12254之差被o后的余数再为o所减所得之差就是922年冬至的干支计算中向上推算或上考往古要用60减所历总日数减0.12254再加上922年冬至之余数将所历总日数化为整数后加上15.12633日所得之和用29.除之除之所得余数再加上龙德二年冬至干支得首朔干支首朔干支再加上6×29.后累减60而得的余数为龙德二年六月初一日的干支六月一日与月内干支差即为六月内的日数计算过程如下[1722-921×365.-32.12254]÷60=4875..44784×60=33.01269干支序数已过33当为34丁西日经与《中西回史日历》对照无误再求922年首朔干支29259.1O99一0.12254十0.01269=+15.12633÷29.=990.49480.49498×29.=14.1510再加34合49干支为壬子所得与史书所载相同[12]因首朔再过六个月方是龙德二年六月初一日故49+6×29.÷60=3余46月83528干支序数41为庚戌日为六月初一日干支再过二十日为六月二十一日即马依泽公出生之日47+20÷60=1余7庚午日结果与回历公历推算所得相同即马依泽公出生于回历310年3月20日农历梁龙德二年六月二十一日公历922年7月18日计算中没有采用定朔与定气可能有数时之差因将回历公历换算成农历时需用干支以订正特将于支次序列表如下表7干支次序表-2-参考文献[1]马坚《回历纲要》中华书局1955年版[2]郑天杰《历法丛谈》台湾华同出版社1977年版[3]鞠德源《万年历谱》山西人民出版社1989年版[4]陈久金《回回天文学史研究》广西科技出版社1996年版[5]张家骥阴阳历日期互换的计算《北京大学学报》自然科学版1998年第4期[6]马以愚《回回历》商务印书馆1947年版《历法考证》手稿1956年[7]唐汉良《历法问答》陕西科技出版社1980年版[8]马以愚《中国回教史鉴》商务印书馆1947年版[9]宛耀宾杨克礼等《中国伊斯兰百科全书》四川辞书出版社1994年版[10]邱树森《中国回族大词典》江苏古籍出版社1992年版[11]乐吾氏《历算须知》1935年编印马以愚先生抄录钦定《历象考成后编》文渊阁《四库全书》台湾商务印书馆重印[12]陈垣《二十史朔问表》中华书局1926年版「收稿日期」1999-10-13「作者简介」马肇曾北京科技大学化学系北京农历换算

有话要说...

取消
扫码支持 支付码