干支纪日法.docx
《干支纪日法.docx》由会员分享,可在线阅读,更多相关《干支纪日法.docx(17页珍藏版)》请在冰豆网上搜索。
![干支纪日法.docx](https://file1.bdocx.com/fileroot1/2023-2/21/f0c81a12-36de-4e76-b340-ba1432cac797/f0c81a12-36de-4e76-b340-ba1432cac7971.gif)
干支纪日法
干支纪日法
使用干支记录日序的方法。
干支是天干、地支的合称,它与干支纪年法一样,用干支相匹配的六十甲子来记录日序,从甲子开始到癸亥结束,六十天为一周,循环记录。
干支纪日从商朝便已开始,但其顺序到现在有无间断或错乱过,尚待考证。
目前已确切知道的从春秋鲁隐公三年(公元前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-3
Z=8C+[C/4]+5y+[y/4]+[3*(M+1)/5]+d+7+i
其中C是世纪数减一,y是年份后两位,M是月份,d是日数。
1月和2月按上一年的13月和14月来算。
奇数月i=0,偶数月i=6。
G除以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)X2-1=-3,因该数是负数则加10得7,即天干序号7得出农历辛未年正月天干为庚,正月干支为庚寅。
二月为辛卯,三月为壬辰,余类推
日干支推算法
由于农历月的大小没有一定的规律可循,这就使推算农历日期的纪日干支不能用一个简单的方法来实现。
因此,农历日期的纪日干支比较好的推算办法是借助于历表
虽然农历的大小月不固定,而阴历除了每四年有一次闰月(二月)以外,每年的大,小月都固定不变,所以可以从阳历来推算当日的干支,其推算公式是:
日干=(元旦天干序数)+(所求日数)+(各月天干加减数,闰年三月后加1)/10
=商........余数(日干序数)
日支=(元旦地支序数)+(所求日数)+(各月天干加减数,闰年三月后加1)/12
=商........余数(地支序数)
按上述方法推算日干支,有两个数要先求出来才能代入公式中,即元旦干,支序数,各月干,支加减数。
天干地支加减数表:
每月天干地支常数加减表:
平年闰年
天干地支天干地支
一月减一减一减一减一
二月加零加六加零加六
三月减二加十加一加一
四月减一加五加一加一
五月减一减一加一加一
六月加零加六加一加一
七月加零加零加一加一
八月加一加七加一加一
九月加二加二加一加一
十月加二加八加一加一
十一月加三加三加一加一
十二月加三加九加一加一
推算日干支口诀
推算日干支传统的计算方法,可以按公历和农历两种方法推算。
一、农历日干支推算口诀:
大小月卦记心间,
正一干支起根源。
大后干同地支冲,
小后干支退一天。
初一十三二十五,
支同隔干一位算。
推算方法:
“大小月卦记心间,正一干支起根源。
”农历的大月为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日午时的干支。
1、先按《农历大小月卦口诀》,将1998年农历大小月,排上两卦,并标出闰月。
同时,记住正月初一日和元旦日干支。
2、推算1998年的干支。
我们按《推算年干支口诀》在手掌上将地支子位定为甲子,为1984年,并将大拇指按在地支子位上。
按“隔位逆推十年正”,大拇指从甲戌94年开始顺推,即94年为甲戌,95年为乙亥,96为丙子,97年为丁丑,98年干支则为戊寅。
3、推算农历6月份干支。
确定1998年戊寅干支以后,按《定月时干支诀》,戊干与癸干合以戊为主,戊的序数为5,将大拇指固定在戊位上。
“年干隔位配寅月”,从戊位开始,将大拇指顺数,隔过天干,已,庚,辛,壬、癸五干到甲,便是98年正月的天干,即正月干支为甲寅,再从寅支开始,按甲,己,丙,丁,戊6月干支为己未。
4、推算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曰的干支为庚辰。
5、推算农历6月初10(公历8月1日),该日干支为庚辰。
我们按《定日时干支诀》知道,该日干庚与己相合,按“天干五合前为主”,以天干己来推算,己的序数为2,将大拇指定在天干己的位置上。
“日干定时本身数”,大拇指从第二位到丙,可知庚辰日子时为丙子。
将大拇指从丙子顺推到午年时,天干为壬,午时干支为壬午。
经过在掌上推算年、月、日、时干支,可知1998年农历6月初10日(公历8月1日)午时干支,分别为戊寅年己未月庚辰日壬午时。
(二)推算公历1998年8月1曰干支。
1998年干支为戊寅,年支不属于申子辰,故1998年2月为28天。
按《日公历干支推算口诀》中“小月干同地支冲,大月上句加一天------,余年二月二十八,干同支冲退两天”的规律,逐月推算。
1998年干支戊申,大拇指定在申位上。
1月为大,干同支冲加一天,大拇指由申位到跳到寅,加1支到卯,2月1日为己卯,2月28天,干同干冲退二天,大拇指跳到酉位退二支,3月1日为丁未;3为大,干同支冲加1天大拇指跳到丑进一位4月1日干支为戊寅;4月为小,干同干冲,大拇指跳到申位,5月1日干支为戊申;5月为大,干同支冲加1天,大拇指跳到酉位,7月1日干支为己酉;7月为大,干同支冲加1天,大拇指跳到卯进1位到辰,8月1日干支为庚辰。
计算公历任意一天的天干和地支的公式:
天干:
g=4C+[C/4]+5y+[y/4]+[3*(M+1)/5]+d-3;
g的个位数就是天干序号;
地支:
z=8C+[C/4]+5y+[y/4]+[3*(M+1)/5]+d+7+i(奇数月i=0,偶数月i=6)
如果先求得了g,那么
z=g+4C+10+i(奇数月i=0,偶数月i=6).
z除以12的余数就是地支序号。
其中:
C=世纪数-1,y=年份后两位,M=月份,d=日数,[]表示取整数。
1月和2月按上一年的13月和14月来算,因此C和y也要按上一年的年份来取值。
例:
算1644年3月22日的干支?
g=4*16+[16/4]+5*44+[44/4]+[3*(3+1)/5]+22-3
=64+4+220+11+2+22-3
=320,
个位数是0,天干为癸。
z=g+4C+10
=320+64+10
=394,
除以12余10,地支为酉。
所以这一天的干支是“癸酉”。
公历年的年份也很容易算出农历年的干支来:
(Y-3)个位数就是天干序号;
(Y-3)/12余数就是地支序号。
如:
2004年的干支
2004-3=2001个位数为1即天干“甲”
2001/12=166余9即地支“申”
这年的干支为“甲申”。
八字技巧2009-11-0711:
31阅读9评论0字号:
大大中中小小 一、口诀:
乘五除四九加日,双月间隔三十天。
一二自加整少一,三五七八十尾前。
有阳历日期就能推出当日干支,已经很好了,这是我目前发现最好的方法。
对这个口诀我没有全解开,但算日子我全会了。
具体公式如下[年的后三位乘5+年的后三位除4+9+阳历日子数+单月(为0)双月(30)+每个月的调节数]/60=取余数个位数为天干,余数除12取余为地支。
每个月调节数(一、四、五为1)、(二、六、七为2)、(三为0)(八为3)、(九、十为4)、(十一、十二为5)
不过闰年,就是一月、二月,要减去1,后算天干地支数。
二、举例说明:
例一:
1996年1月16日
(96×5+96÷4+9+16)÷60=8余49,49即为六十甲子序数。
9对应天干壬,49除12余1对应地支子,对应干支为“壬子”。
例二:
1997年2月16日
(97×5+97÷4+9+16+30+2)÷60=9余26,26即为六十甲子序数。
6对应天干己,26除12余2对应地支丑,对应干支为“己丑”。
例三:
1998年3月16日
(98×5+98÷4+9+16)÷60=8余59,对应干支为“壬戌”。
例四:
1999年4月16日
(99×5+99÷4+9+16+30+1)÷60=9余35,对应干支为“戊戌”。
例五:
2000年7月16日
(100×5+100÷4+9+16+2)÷60=9余12,对应干支为“乙亥”。
例六:
20001年10月16日
(101×5+101÷4+9+16+4+30)÷60=9余49,对应干支为“壬子”。
第三句中的“整少一”,为能被4整除之年一二月份算下来的余数要减一。
如:
2000年1月6日为甲子日
根据口诀第三句“一二自加整少一”我们以2000年是被四整除的年份,来看看如何。
2000年1月6日为癸亥日:
是第60位
(100×5+100÷4+9+6+1)÷60=9余1是减一为60,则为癸亥日
(100×5+100÷4+9+9+1)÷60=9余4是减一为3,则为丙寅日
2000年2月2日为庚寅日:
是第27位
日干支推算法
日干支的推算比较复杂。
由于农历变化比较繁杂,所以用阳历进行推算。
运用时有几个先决条件:
第一是当年元旦干支的代数;第二是各月干支应加应减数;第三是闰年自三月起都加一;第四是当天的日数。
有了这两点,便可推算任何一天的干支。
当年元旦干支代数:
除参考前面“干支分阴阳”之处,下面把1992年-2039年三十年的元旦干支列表(表5-6),以供参考。
表5-6 公元1992-2039年元旦干支表
年份