农历又被称为夏历、阴历、旧历、中历、华历,我国已经用了几千年,是东亚传统历法之一。农历属于一种阴阳历,平均历月等于一个朔望月,设置闰月使平均历年为一个回归年,设置二十四节气以反映季节,所以又有阳历的成分。至今几乎全世界所有华人及朝鲜、韩国和越南及早期的日本等国家,仍使用农历来推算传统节日如春节、中秋节等节日。
农历还使用干支纪年,因此就每60年重复六十甲子。如公元1991年称为辛未年,公元2051年也为辛未年。从汉武帝时期开始,皇帝年号与干支同时使用,以避免重复。如清同治三年、甲子年。 农历还使用干支纪日。古代史书上不记月之几日,而记月之干支日,读古代史书就必须查明该月朔日的干支,再按干支纪日法顺推是月之第几日。
中国历朝颁布的历书,历理均大同小异。编历规则不变、改革的是推算方法。史上推算农历方法有几十种之多,还好各时期的史书都有收录中国历朝颁行历书的推算方法;史书有收录我在编写《电脑医生万年历》、《通胜万年历》和《福星万年历》(简称程序、下同)时才能还原史实农历。程序在网上发布后得到广大网友的支持,同时也有网友来信或来电询问古今农历推算方面的问题。现在我专门把这些常见问题知识写出来。以飨网友。
程序选用还原的颁行历及使用年限
一、农历(又称:夏历、旧历、中历、华历)
1、农历历算和编历常用术语
黄经:是在黄道座标系统中用来确定天体在天球上位置的座标值、共分成360度、在这个系统天球被黄道平面分割为南北两个半球,太阳移到黄经0度为春分、移到黄经90度为夏至、移到180度为秋分、移到270度时为冬至。
朔日:月球移到地球和太阳中间时的那一天叫朔日。
平朔:用朔望月的平均长度计算、没考虑日月运行的不均等性;缺点:“含有真正的“朔”的当天有时可能会出现在前一月的最后一日(“晦日”、廿九日或卅日),有时会出现在初二”。
定朔:计算考虑了日月运行的不均等性,将含有真正“朔”的当天作为每月的开始。
平气:计算不考虑太阳在黄道上运动快慢不匀,平气两个节气之间的天数15.22天。
定气:计算考虑太阳在黄道上运动快慢不匀,定气两个节气之间的天数不一样、短的只有14天、长的达16天。
冬至日:冬至交接时间所在的那一天就叫冬至日。
冬至日必须在子月:冬至日当天或冬至日前的那个朔日定为子月初一“起点”(注意:起点和算命不同)。
建正:年首月份,所说的建正就是“夏正:夏历正月建寅[子月为11月];殷正:殷历正月建丑[子月为12月]、鲁历同殷历;周正:周历(周朝历)正月建子[子月为正月];秦正:秦历《颛顼历》正月建亥[子月为2月]”。
置闰:农历1个月就是1个朔望月、月的平均天数≈29.53059天,农历一年12个月≈354.367天;但是1回归年≈365.2422天,这样农历一年比回归年少≈10.866天,农历≈2.71771年就比回归年少1个月,如不调整过不了几十年就会出现冬、夏倒置。为了让农历年平均天数等于回归年农历≈2.71771年必须设一个闰月。置闰规则请看《历代农历编历规则》。
2、历代农历编历规则:
节气:一年分二十四个节气,清朝(公元1644年)以前用平气计算,清朝(公元1644年)以后用定气计算。
月策规则:朔日为每月起点(初一日);朔日(月初一日)到下个朔日(下月初一日)有多少天、这月就有多少天。有30天为大月、有29天为小月;唐朝(公元619年)以前用的是平朔、唐朝(公元619年)以后用的是定朔。
年策与置閏规则:以冬至日必须在子月(寅正11月),上个冬至月(子月农历寅正11月)到下个冬至月(子月\农历寅正11月)有12个月就不置閏、上个冬至月(子月、农历寅正11月)到下个冬至月(子月、农历寅正11月)如有13个月就要置閏、以上个冬至月(子月农历寅正11月)后的第一个没中气月设为闰月、在几月后面就称闰几月。
例如:2032年农历冬至月到2033年农历冬至月之间有12个月,就不置闰。2033年农历冬至月到2034年农历冬至月有13个月就必須置闰,在2033年冬至月(11月)后的第一个无中气之月就是2033年冬至月后的第1个月,就定为闰月。它正好在冬至月(子月[11月])后,所以就叫闰子月(闰11月)。
3、无还原的颁行历
古六历⑴[“黄帝历、颛顼历、夏历、殷历、周历及鲁历”] –夏朝前 -夏朝、商朝、西周(?-前104)
4、程序公元前104年以前历法还原参考
(公元前4800年 - 前1188年)-用现代天文计算(农历置闰在年尾)还原
(前1187年-前851年)-暂用现代天文计算(农历置闰规则:用《殷历》闰章)还原
(公元前850年- 公元前221年)-暂用周古四分历还原-
(公元前221年- 公元前104年)-颛顼历(秦历)还原 - 秦朝、西汉初
5、程序公元前104年后还原的颁行历
平气平朔(公元前104年 - 公元618年)
太初历(三统历) - 西汉、新朝、东汉(公元前104年 - 84年)
汉四分历 - 东汉(85年 - 220年)、曹魏(220年 - 236年)
景初历 - 曹魏、西晋、东晋、[南朝]宋(237年 - 444年) [北朝]魏(445年 - 451年)
元嘉历 - [南朝]宋、[南朝]齐、[南朝]梁(445年 - 509年)
祖冲之的大明历 – [南朝]梁、[南朝]陈(510年 - 589年)
开皇历 - 隋(590年 - 596年)
大业历 - 隋(597年 - 618年)
平气定朔(公元619年 - 公元1645年)
戊寅元历 - 唐朝(619年 - 664年)
麟德历 - 唐(665年 - 728年)
大衍历 - 唐(729年 - 761年)
五纪历 - 唐(762年 - 783年)
正元历,观象历-唐(784年 - 821年)
宣明历 - 唐(822年 - 892年)
崇玄历 - 唐 、后梁、后唐、后晋、后汉、后周(893年 - 955年)、 契丹(辽)(907年 - 947年)
钦天历 - 后周、北宋(956年 - 963年)
应天历 - 北宋(963年 - 981年)
干元历 - 北宋(981年 - 1001年)
仪天历 - 北宋(1001年 - 1023年)
仪天历,崇天历- 北宋(1000年 - 1064年)
明天历 - 北宋(1065年 - 1067年)
崇天历- 北宋(1068年-1075年)
补修奉天历(奉元历) - 北宋(1075年 - 1093年)
观天历 - 北宋(1094年 - 1102年)
占天历 - 北宋(1103年 - 1105年)
纪元历 - 北宋、南宋(1106年 - 1135年)
统元历,乾道历,淳熙历 - 南宋(1168年 - 1190年)[统元历(1136年 - 1167年)乾道历(1168年 - 1176年)淳熙历(1177年 - 1190年)]
会元历 - 南宋(1191年 - 1198年)
统天历 - 南宋(1199年 - 1207年)
开禧历 - 南宋(1208年 - 1251年)
淳佑历 - 南宋(1252年)
会天历 - 南宋(1253年 - 1270年)
成天历 - 南宋(1271年 - 1276年)
本天历- 南宋(1277年 - 1279年)
授时历(大统历) - 元、明朝、清初(1280年 - 1645年)
定气定朔( 公元1644年以后)
时宪历 - 清朝(1646年 - 1742年)
重修时宪历(癸卯元历) - 清朝(1743年 - 1911年)[注:以1911年以前均是用制历(颁历)机构所在地区的真太阳为基准]
新法天文夏历-民国(1912年 - 1928年)[注:以东经116度平太阳时为基准]
天文时宪历-民国、中华人民共和国(1929年 - 1960年)[注:以东经120度平太阳时为基准]
现代天文时宪历 [紫金历⑵] -中华人民共和国、?(1961年 -? 本程序算到10000年)[注:以东经120度计算平太阳时为基准]
⑴、古六历据说就是古四分历,只有岁首月份的不同,实无其它历理的任何区别。
⑵、因为主要是以紫金山天文台发布为准,所以有人称他为“紫金历”。主要特点是历法固定,而历算即算法不固定,而是完全用历算时最新最先进的天文数据最新最先进的算法计算。
6、几个政权同时存在时还有还原的颁行历
汉四分历 -东吴(222年)、蜀汉(221年 - 263年)
乾(干)象历 - 东吴(223年 - 280年);
玄始历 - [北朝]北魏(452年 - 522年);
正光历 - [北朝]北魏(523年 - 534年);|正光历 - [北朝]东魏(535年 - 539年)
正光历 - [北朝]西魏(535年 - 556年);|兴和历 - [北朝]东魏(540年 - 550年)
正光历 - [北朝]北周(556年 - 565年);|天保历 - [北朝]北齐(551年 - 577年)
天和历 - [北朝]北周(566年 - 578年);
大象历 - [北朝]北周(579年 - 581年);
大象历 -隋(581年 - 583年)
开皇历 - 隋(584年 - 589年)
调元历 -契丹(辽)(948年? - 993年) 、 后晋*(939年 - 943年)
大明历 - 辽(994年 - 1125年)、 金(1126年 - 1181年)
重修大明历 - 金、蒙古(元)(1182年 - 1280年)
授时历(大统历)-南明、住臺湾的南明郑(明皇帝赐姓朱)氏政权(1646年-1683年住臺湾的南明与清统一)。
7、没还原的颁行历
古六历[“黄帝历、秦历(颛顼历)、夏历、殷历、周历及鲁历”]-[东周] 春秋、战国(前770年 -前221年)
三纪历 - 后秦(384年 - 517年)
玄始历 - 北凉(412年 - 439年)
8、程序建正说明
现行的农历采用的是夏历(即建寅为正),由于历史上改朝换代或君王改换纪元等原因,曾有多次修改月建,程序编写时为了更符合史实也多次修改月建,所采用的月建(年首)如下:
建寅为正(子月为11月)-(前4800年-前1600年);
建丑为正(子月为12月)-(前1600年-前1046年);
建子为正☆(子月为1月)-(前1046年-前1046年);
建亥为正(子月为2月)-(公元前255(丙午)年-前104年[太初元年四月]);
建寅为正(子月为11月)-(公元前104年[西汉太初元年五月]-公元9年);
建丑为正(子月为12月)-(公元9年-公元23年);
建寅为正(子月为11月)-(公元23年-公元237年);
建丑为正(子月为12月)曹魏-(237年-239年) [建寅为正(子月为11月)蜀汉 和 吴国(237年-239年)];
建寅为正(子月为11月)-(公元239年-公元689年);
建子为正(子月为1月)-(公元689年-公元700年);
建寅为正(子月为11月)-(公元700年十月-公元761年★);
建寅为正(子月为11月)-(公元762年-?程序到10000年);
☆周朝历法较为混乱(因春秋战国时各国历法不一);程序公元前1046乙未年—公元前723戊午年用周历建子为正(子月为1月),公元前722(己未)年因周不修历用鲁历、鲁历建丑为正(子月为12月),公元前476乙丑年恢复周历建子为正(子月为1月);前264丁酉年—前256乙巳年可能因周历失闰又(子月为2月)。
★(公元761年)九月去年号,但称元年。以建子为正,月以所建辰为名,原十月称亥月,原十一月称子月(岁首),...,原三月为辰月。而建巳月复寅正,恢复原月名,仍称四月。
二、公历
1、无还原的[罗马]颁行公历及使用年限
初期儒略历-([罗马纪年707年]公元前46年-公元7年[罗马纪年760年])罗马
2、还原的[罗马]颁行公历及使用年限
儒略历-([罗马纪年761年]公元8年-公元476年[罗马纪年1229年(罗马亡)])罗马
3、还原的公历
儒略历[注1]-(程序从公元前4800年 ?-公元1582年10月)部份西方国家及国际通用换算各国古历
格里历[注2]-(1582年10月-? 程序算到10000年)西方国家及国际公用;中国官方公元1911年开始使用
注1:国际习惯公元1582年10月4日之前(包括10月4日)采用儒略历,年分12个月,单数月大,长31日,双数月小,长为30日,2月平年28日,闰年29日。每四年1闰;但是和罗马在公元8年以前颁行的初期儒略历不同。
注2:公元1582年10月15日之后(包括10月15日)采用格里历,四年一闰,百年不闰,四百年再闰,公元1582年10月5日到10月14日,是被删掉的十天,故无此十天。