干支纪日法使用干支记录日序的方法干支是天干、地支的合称,它与干支纪年法一样,用干支 相匹配的六十甲子来记录日序,从甲子开始到癸亥结束,六十天为一周,循环记录干支纪日从商朝便已开始,但其顺序到现在有无间断或错乱过,尚待考证目前已确 切知道的从春秋鲁隐公三年(公元前 720年)二月己巳日起到清宣统三年(公元 1911年) 止(1912年民国元年采用公元纪年后,民间仍沿用)2600多年中从未间断和错乱过 干支纪日法是商朝历法的最大成就,这是现今已知世界最长的纪日法,对于我国历史学,尤 其是科学技术发展史的考证和研究,都是极为重要的记时标志,是我国一份珍贵的科学文 化遗产如《肴之战》:“夏四月辛巳,败秦军于肴'“四月辛巳”指农历四月十三日; 《石钟山记》“元丰七年六月丁丑”,即农历六月九日;《登泰山记》“是月丁未”,指这个 月的二十八日古人还单用天干或地支来表示特定的日子 如《礼记•檀弓》“子卯不乐”,“子卯”,代指恶日或忌日公元541年6月癸丑日是哪一天,最最重要的是,该如何计算出来?首先查的公元541年是梁武帝萧衍的大同七年,这一步在大多数字典上都能查到,网上也 很容易其次,下载陈垣先生的《二十史朔闰表》一书,在正文第76页查得,该年六月份是辛丑朔, 也就是初一,同时在旁边小字查的农历541年六月初一是西历的7月9号。
再按照干支表,初一是辛丑,按照辛丑、壬寅、癸卯、甲辰、乙巳、丙午、丁未、戊申、 己酉、庚戌、辛亥、壬子、癸丑癸丑是十三,那么那天就是也就是农历541年六月十三,也 是公历541年7月21日以上的困难主要在查《二十史朔闰表》表上,该表框内横排第一行是年份,以年号为准 竖排最右一行是月份交汇之处就是该月的初一朔日所对应的干支,干支左侧有竖排小字,代 表初一那天的公历日子找到初一之后,再数准欲查之日和初一的天数,很容易算得了这本书在verycd上有速查干支纪日法 :从已知日期计算干支纪日的公式为:G = 4C + [C / 4] + 5y + [y / 4] + [3 * (M + 1) / 5] + d - 3Z = 8C + [C / 4] + 5y + [y / 4] + [3 * (M + 1) / 5] + d + 7 + i其中C是世纪数减一,y是年份后两位,M是月份,d是日数1月和2月按上一年的13 月和14月来算奇数月i=0,偶数月i=6G除以10的余数是天干,Z除以12的余数是地支计算时带[ ]的数表示取整干支是天干、地支的总称我国古代用干支计时,已有很长的历史了天干是:甲、乙、丙、丁、戊、己、庚、辛、壬、癸,也叫十天干;地支是:子、丑、寅、卯、辰、巳、午、 未、申、酉、戌、亥,也称十二地支。
干支还有阴阳之分:甲、丙、戊、庚、壬为阳干,乙、丁、己、辛、癸为阴干;子、寅、辰、午、申、戌为 阳支,丑、卯、巳、未、酉、亥为阴支以一个天干和一个地支相配,排列起来,天干在前,地支在后,天干由甲起,地支由子起,阳干配阳支,阴 干配阴支邙日干不配阴支,阴干不配阳支),这样把天干、地支相配排列起来,共有六十个组合这就是人们平时所说的六十甲子过去人们就用这种方法记年、记日、记时的六十年甲子(干支)表1甲子11甲戌21甲申31甲午41甲辰51甲寅2. 乙丑12.乙亥22.乙酉32.乙未42.乙巳52.乙卯3. 丙寅13.丙子23.丙戌33.丙申43.丙午53.丙辰4. 丁卯 14.丁丑 24.丁亥 34.丁酉 44.丁未 54.丁巳5. 戊辰15.戊寅25.戊子35.戊戌45.戊申55.戊午6. 己巳16.己卯26.己丑36.己亥46.己酉56.己未7. 庚午17.庚辰27.庚寅37.庚子47.庚戌57.庚申8 辛未18.辛巳28.辛卯38.辛丑48.辛亥58.辛酉9. 壬申19.壬午29.壬辰39.壬寅49.壬子59.壬戌10. 癸酉20.癸未30.癸巳40.癸卯50.癸丑60.癸亥年、月、日、时干支纪法(1) 干支纪年法如甲子为第一年,乙丑为第二年,丙寅为第三年……六十年为一周。
一周完了,再由甲子年起,周而复始, 循环下去例如1929年为农历己巳年,1930年是农历庚午年……到1989年又是农历己巳年我们在日历上看到的己巳年、庚午年,就是按干支纪年这种方法排列下来的阳历年份除以60的余数减3 便得该年农历干支序号数,再查上面的干支表便得干支年纪如果序号数小于、等于零则干支序号数加60 例如,求1991年干支:1991-60=33余11,年干支序号数=11—3=8查干支表知该年为辛未年又如求1983 年干支:1983-60=33余3,干支序号=3-3=0,加上60,查干支表知该年为癸亥2) 干支纪月法干支纪月法未普遍实行,主要为星相家推算八字用其方法为:若遇甲或己的年份,正月是丙寅;遇上乙或 庚之年,正月为戊寅;丙或辛之年正月为庚寅,丁或壬之年正月为壬寅,戊或癸之年正月为甲寅正月之干 支知道了,其余月可按六十甲子的序推知3) 干支纪日法甲子为第一日,乙丑为第二日,丙寅为第三日……60日为一周一周完了再由甲子日起,周而复始,循环下 去例如农历己巳年(1989年)正月初一是丁酉日,初二是戊戌日……到三月初七正好是60天,因此三月 初二又是丁酉日4) 干支纪时法一天中时辰的地支也是确定的,所以二十四小时配十二地支,由夜间十一点至一点为子时,一点至三点为丑 时,其余照推。
时的天干由该日所对天干推求,其歌诀如下:甲己还生甲,乙庚丙作初,丙辛从戊起,丁壬庚子居,戊癸何方发,壬子是真途即若该日是甲或己的,在子时上配上甲为甲子;该日是乙或庚的,在子时上配上丙为丙子;丙辛日子时配上 戊为戊子;丁壬日为庚子;戊癸日为壬子知道了子时的天支,便可推知其余昼夜时辰的干支计算地球自转一周,称为太阳日”,昼夜的形成即由此其向阳之地面为昼,背阳地面则为夜春分以后日照北半 球渐多,因此北半球夜短昼长,南半球则相反;秋分以后,日照南半球渐多,故北半球昼短夜长,南半球仍 相反一昼夜的划分方法,西历是以二十四小时,每小时分为四刻,又分六十分,每分为六十秒来计算而我国传 统则以十二个时辰来算以子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥十二地支来表示每一时辰 分为八刻,又区分为上四刻、下四刻列表对照如下: 子:下午十一时至夜一时午:上午十一时至下午一时丑:夜一时至三时未:下午一时至三时寅:夜三时至晨五时申:下午三时至五时卯:晨五时至七时酉:下午五时至七时辰:上午七至九时戌:下午七时至九时巳:上午九时至十一时亥:下午九时至十一时由上可知,传统的十二时辰是以夜十一时为起算,十一时以前为一日,夜十一时以后为次日,与西历零时, 即夜十二时起算差了一小时。
十 干 名 源 :五 鸟 五 鸠——十干名的起源与干支纪日法的形成干支纪日是世界上最古老的纪日法之一,是中国历法文化的一束奇芭干支”,分开讲,是指甲乙 丙丁戊己庚辛壬癸十天干和子丑寅卯辰巳午未申酉戌亥十二地支;合起来说,是指十天干和十二地支相搭配, 从甲子到癸亥的六十花甲子拙文《史前基本婚制与中国十二属相史探》(载《史学月刊》2002 年第 2 期、 人民大学报刊复印资料《先秦、秦汉史》2002 年第 3 期)已揭示:十二地支是在父系氏族社会初期,人们把 当时作兔狗羊马鸡蛇猢鳄豕牛鼠虎排序的十二属相名用以纪日而产生的(兔至虎即子至亥12天为一侯)其 语源关系如下:兔狗子丑羊马寅卯鸡蛇辰巳猢鳄午未豕牛申酉鼠虎戌亥那么,十天干从何而来?六十干支纪日又是如何形成的?历史上虽有黄帝臣子“大挠作甲子”的传说, 但该传说并没有给出这个问题的详细答案; 郭沫若《释支干》似乎认为十干名源于鱼体部件及戎器刃器的名 称,但郭氏将统一的十干与迥异的两类物名相联系,显然没有中的其实,十干名起源于少昊部落原先仅有的五鸟五鸠10 个氏族名《左传•昭公十七年》郯子所述少昊氏“五鸟”、“五鸠”,配以十干依次为:[甲]凤鸟氏、[乙]玄鸟 氏、[丙]伯赵氏、[丁]青鸟氏、[戊]丹鸟氏;[已]祝鸠氏、[庚]雎鸠氏、[辛]鸤鸠氏、[壬]鷞鸠氏、[癸]鹘 鸠氏。
以上十干名与十鸟鸠名音合(即音近)者有5 项,已用楷书标出;音不合者也有5项,但这5 项都有理由可以置换为音合者其一,[甲]凤鸟氏《辞源》鸟部:“鹪明,神鸟,凤凰之类也作焦明、焦朋” “甲”、“焦”、“鹪”音合,“凤”、“朋”、“鹏”音合因而,可将本项置换为[甲]鹪鹏氏其二,[乙] 玄鸟氏《大戴礼•夏小正》:“燕,乙也”玄鸟也者,燕也”因此,本项可置换为乙]燕鸟氏其三,[戊]丹鸟氏《汉语大字典》鸟部:“鹀,雀科鹀属各种鸟的通称”,其中有赤鹀据此,可将本项置换为[戊] 鹀(赤鹀)鸟氏其四,[庚]雎鸠氏《诗•周南•关雎》:“关关雎鸠,在河之洲”关关”即雎鸠自呼 其名因而,可将本项置换为[庚]关鸠氏其五,[壬]鷞鸠氏据《左•昭十七》杜预注:“鷞鸠,鹰也”, 可置换为[壬]鹰鸠氏如此则十干名与十鸟鸠名皆依序而音合列表如下:五鸠[已] 祝鸠氏[庚] 关鸠氏[辛]鸤鸠氏[壬] 鹰鸠氏[癸] 鹘鸠氏五鸟[ 甲 ] 鹪鹏氏[乙] 燕鸟氏[ 丙 ] 伯赵氏[丁] 青鸟氏[戊]鹀鸟氏据此可以判断,以上经过修订后的10 个鸟鸠名(“雎”来源于拟声词“关”),基本上就是少昊部落原 先仅有的 10 个氏族(五鸟、五鸠各为一个胞族)的名称;由这10 个名称中,一次派生出了十干名。
事情的经过大概是这样:当初由于少昊部落的10 个氏族轮流派人值日,负责部落的警戒和勤务等事, 依顺序,鹪,子日值;燕,丑日值;伯,寅日值……,60日后复从鹪,子日值开始……这样日久天长,鹪、 燕、伯、青、鹀、祝、关、鸤、鹰、鹘10个氏族名,就成了十干名由此,单独的十二地支纪日就演变为六 十干支纪日干支纪日法的形成,很可能也是在父系氏族社会初期,只是比十二地支纪日形成的时间稍晚些 鹪至鹘即甲至癸为一旬旬行而候渐微,最后嬗变作5日为一候总之,十干名源于五鸟五鸠,干支纪日法亦完成于五鸟五鸠月干支推算法:年的天干为甲或已时,则正月的天干为丙;年的天干为乙或庚时,则正月的天干为戊;年的天干为丙或辛时,则正月的天干为庚;年的天干为丁或壬时,则正月的天干为壬; 年的天干为戊或癸时,则正月的天干为甲 首先推算出该年农历正月的天干,其余月份可按天干顺序号类推该年正月的天干序号的计算为:取公元年 份除以5的余数减2后乘以2 再减1当该数为负数时加10例:求公元1991年(农历辛未年)正月的天干:1991/5=398余1,正月的天干序号数(1-2) X 2-1=-3,因该数 是负数则加10得7,即天干序号7得出农历辛未年正月天干为庚,正月干支为庚寅。
二月为辛卯,三月为壬 辰,余类推日干支推算法 由于农历月的大小没有一定的规律可循,这就使推算农历日期的纪日干支不能用一个简单的方法来实现因 此,农历日期的纪日干支比较好的推算办法是借助于历表 虽然农历的大小月不固定,而阴历除了每四年有一次闰月(二月)以外,每年的大,小月都固定不变,所以 可以从阳历来推算当日的干支,其推算公式是:日干=(元旦天干序数) +(所求日数) +(各月天干加减数,闰年三月后加1) /10=商 余数(日干序数)日支=(元旦地支序数) +(所求日数) +(各月天干加减数,闰年三月后加1) /12=商 余数(地支序数)按上述方法推算日干支,有两个数要先求出来才能代入公式中,即元旦干,支序数,各月干,支加减数。