干支纪月的推算较为容易,每年的各月地支已经固定,只要推算月的天干配固定每月地支就行。有歌诀为证(寅月为正月,寅为虎,又称“五虎遁元”):
甲己之年丙作首,——逢年干是甲或己的年份,正月的月干从丙上起。 乙庚之岁戊为头,——逢年干是乙或庚的年份,正月的月干从戊上起。 丙辛必定寻庚起,——逢年干是丙或辛的年份,正月的月干从庚上起。 丁壬壬位顺行流,——逢年干是丁或壬的年份,正月的月干从壬上起。
更有戊癸何方觅,甲寅之上好追求。——逢年干是戊或癸的年份,正月的月干从甲上起。 干支纪月图表
为了便于推算,把他们的关系归纳于此表:
月干公式:月干=年干*2+月支 (和超过10,直接取个位数) 例:求乙未年巳月天干? 解:巳月干=乙*2+巳=2*2+4=8=辛
与干支纪年始于立春相对应,干支纪月法采用每个地支对应二十四节气自某节气(非中气)至下一个节气,以交节时间决定起始的一个月期间,不是农历某月初一至月底。
纪月节气表
下表是地支纪月时对应的节气时间段、中气、近似农历月份、近似阳历月份、以及年天干和月地支构成的月干支:
干支纪月是干支历的一部分,主要用于风水、术数等领域中,这使得干支历一直在官方和民间都流行不衰。而事实上”正月建寅”是与北斗七星在地球上所观察的周年运动有关,与地球环绕太阳一周期的时间相同。 节气表: 季 月 节 寅 立春 春 卯 惊蛰 辰 清明 巳 立夏 夏 午 芒种 未 小暑 申 立秋 秋 酉 白露 戌 寒露 亥 立冬 冬 子 大雪 丑 小寒 气 雨水 春分 谷雨 小满 夏至 大暑 处暑 秋分 霜降 小雪 冬至 大寒 节气歌:
春雨(寅)惊春(卯)清谷天(辰),夏满(巳)芒夏(午)暑相连(未)。 秋处(申)露秋(酉)寒霜降(戌),冬雪(亥)雪冬(子)小大寒(丑)。 月初为节,月中为气
干支月,属于阳历月,每月含一节一气,以节为始,以气为中。月初为节,月中为气。节气歌中,每两个字为一个月,第一字为节,第二字为气(例如,春雨-寅月,惊春-卯月)。 春季:寅卯辰,夏季:巳午未,秋季:申酉戌,冬季:亥子丑。
干支纪日
干支纪日,60日大致合2个月一个周期;一个周期完了重复使用,周而复始,循环下去。确定的文献指出干支纪日始于鲁隐公三年周历二月己巳日(\日有食之\, 周平王五十一年,换算为公元前720年2月22日)。因为儒略历的平年有365日,而每4年一次,公元年能被4整除,闰年有366日,平均一年365.25日,所以4年1461日和一
甲子的60日,最小公倍数是29220日,合80年。这就是说,每80年,干支纪日对应的儒略历月日日期会反复一次循环。(公元4年本来应为闰年,但因为公元前45年开始实施儒略历后,“每隔3年”加一次闰日被误为“每3年”加一次闰日,所以罗马皇帝屋大维下令前5年、前1年、4年停闰以修正错误置闰。)
因为格里历的平年有365日,而每4年一次闰年,但是如果遇上整百年,公元年能被400整除才能认定为闰年(这是因为按照当代立法计算,四年一闰的规定使每年多出0.0078天,经过400年大约会多出3天,如果在能被400整除年份的前面3个百年不算闰年,则正好平衡),闰年有366日,平均一年365.2425日,所以400年146097日和一甲子的60日,最小公倍数是2921940日,合8000年。这就是说,每80年,干支纪日对应的格里历月日日期若没有遇到能被100但非400整除的公元年,会反复一次循环,但整体而言,假设未来从不改格里历,每8000年,干支纪日对应的格里历月日日期才会反复一次完整的循环。1912年2月18日,合汉历(农历)壬子年正月初一,以及1992年2月18日,都是“甲子日”。
干支纪日比起记载某月某日,其优势是非常容易计算历史事件的日期间隔,以及是否有闰月存在。因为汉历(农历)每个月29或30日不定,而且有没有闰月也不知道,故如果日期跨月,则计算将会非常困难。至于某月某日和干支的对应,则可以查万年历。
例:《史记·秦始皇本纪》记载,“(始皇)三十七年十月癸丑,始皇出游。??七月丙寅,始皇崩于沙丘平台。”秦朝历法,每年的第一个月为十月,然后是十一月、十二月、一月??九月。也就是出游后过了9个多月(不算闰月),驾崩了。计算此次出游的总日期数。解:从癸丑(第50天)到丙寅(第3天)总共是13天。所以总出游日期数一定是60n+13。9个月大约是270天,但270天并不是60的倍数,所以可以判断有一个闰月;从而,n=5,总共出行10个多月,日期数为313天。用日期记日的失败例子:从洪武三十一年五月廿九日到六月初一日,一共多少天?答:洪武三十一年五月有29天,所以只有1天。(错误)
原因:洪武三十一年有闰五月(共29天)。《明史》记载,洪武三十一年闰五月,朱元璋驾崩。所以该问题答案应是1+29=30天。
干支纪时
60时辰合5日一个周期;一个周期完了重复使用,周而复始,循环下去。必须注意的是子时分为0时到1时的早子时(晨子)和23时到24时的晚子时(夜子),所以遇到甲或己之日,0时到1时是甲子时,但23时到24时是丙子时。晚子时又称子夜或夜子。
日上起时亦有歌诀:甲己还加甲,乙庚丙作初;丙辛从戊起,丁壬庚子居;戊癸何方发,壬子是真途。 甲子,乙丑,丙寅,丁卯,戊辰,己巳,庚午,辛未,壬申,癸酉, 甲戌,乙亥,丙子,丁丑,戊寅,己卯,庚辰,辛巳,壬午,癸未, 甲申、己酉,丙戌,丁亥,戊子,己丑,庚寅,辛卯,壬辰,癸巳, 甲午,乙未,丙申,丁酉,戊戌,己亥,庚子,辛丑,壬寅,癸卯, 甲辰,乙巳,丙午,丁未,戊申,己酉,庚戌,辛亥,壬子,癸丑, 甲寅,乙卯,丙辰,丁巳,戊午,己未,庚申,辛酉,壬戌,癸亥。 下表列出日天干和时辰地支构成的时辰干支,以北京时间(UTC+8)为准:
时辰地支 子时 北京时间 23时—1时 丑时 寅时 卯时 1时—3时 3时—5时 5时—7时 乙丑时 丙寅时 丁卯时 丁丑时 戊寅时 己卯时 己丑时 庚寅时 辛卯时 辛丑时 壬寅时 癸卯时 癸丑时 甲寅时 乙卯时 甲或己日 甲子时 乙或庚日 丙子时 丙或辛日 戊子时 丁或壬日 庚子时 戊或癸日 壬子时 辰时 巳时 7时—9时 9时—11时 戊辰时 己巳时 庚辰时 辛巳时 壬辰时 癸巳时 甲辰时 乙巳时 丙辰时 丁巳时 午时 11时—13时 庚午时 壬午时 甲午时 丙午时 戊午时 未时 13时—15时 辛未时 癸未时 乙未时 丁未时 己未时 申时 15时—17时 壬申时 甲申时 丙申时 戊申时 庚申时 酉时 17时—19时 癸酉时 乙酉时 丁酉时 己酉时 辛酉时 戌时 19时—21时 甲戌时 丙戌时 戊戌时 庚戌时 壬戌时 亥时 21时—23时 乙亥时 丁亥时 己亥时 辛亥时 癸亥时
时间换算
公元推算干支方法
注意,这里的西元年的干支,仅表示此西元年立春(2月4日左右)至下一个西元年立春(2月4日左右)之间的回归年干支。例如2015年的乙未年表示(2015年2月4日——2016年2月4日)
序数法:
天干 序数 地支 寅 卯 辰 巳 午 未 申 酉 戌 1 2 3 4 5 6 7 8 9 10 亥 11 子 12 丑 甲 乙 丙 丁 戊 己 庚 辛 壬 癸 天干序数按:1(甲),2(乙),3(丙),4(丁),5(戊),6(己),7(庚),8(辛),9(壬),10(癸) 地支序数按:1(寅),2(卯),3(辰),4(巳),5(午),6(未),7(申),8(酉),9(戌),10(亥),11(子),12(丑) 年干支推算:
①年干公式:年干=年份个位数- 3 (适用于任何西元年,个位数小于3,借10) ②年支公式:年支=(年份+7)÷12余数(整除余0,即余12=丑) ③年支简化:
(西元年末二位数-1)-12*N=年支(适用于20世纪,即1900—1999年)
(西元年末二位数+3)-12*N=年支(适用于21世纪,即2000—2099年) 例:求2015年干支?
解:2015年干=5-3=2,2=乙,故2015年天干为乙 2015年支=15+3-12=18-12=6,6=未,故2015年地支为未 综上,2015年干支为乙未 例:求公元189年干支?
解:189年干=9-3=6=己,189年支=(189+7)/12余4=巳,189年干支为己巳 月干支推算:
①月干公式:月干=年干x2+月支 (和超过10,直接取个位数) ②简化公式:(和取个位) 亥月干=年干x2
子月干=年干x2+1=寅月干 丑月干=年干x2+2=卯月干
例:已知2015年为乙未年,求2015年申月天干? 解:2015年乙未年,天干为乙,乙=2,申=7
申月干=乙x2+申=2*2+7=11,个位=1,1=甲,故申月天干为甲 例:求2012年壬辰年,亥月天干?
解:亥月干=壬x2+亥=9*2+10=18+10=28,个位=8,8=辛,故2012年壬辰年亥月天干为辛 (注:亥月天干公式,可直接简化为:亥月干=年干x2) 例:求戊子年,子月天干?
解:子月干=戊x2+子=5*2+11=21,个位=1=甲,故戊子年子月天干为甲 日干支推算:
干支纪日,民间往往采取元旦干支推算法,进而推定阳历某天干支,由于闰年都是在申子辰年,366天,平年都是365天,天数固定,每月天数也都固定,因此只要知道元旦的干支,就能推算出该年各天干支,距离元旦多少天,减去60倍天数,就能推算出某日干支。 时干支推算: 天干 序数 地支
(晨子) -1 0
甲 乙 丙 丁 戊 己 庚 辛 壬 癸 (夜子) 1
2
3
4
5
6
7
8
9
10 11
子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥 子
注意:晨子=-1,夜子=11。因子时、丑时是每日的前两个时辰,顺序置前,地支序数也应置前,故将子丑置前:子=-1,丑=0,寅=1,卯=2?子=11。由于子时作为日期分界线,被一分为二,分为晨子和夜子两个小时,晨子(0点-1点),子=-1。夜子(23点-24点),子=11。八字中,夜子时(23点-24点),仍属于今天,仍用今天日干。 ①时支公式:时支=小时÷2-1(小时为偶数),时支=(小时+1)÷2-1(小时为奇数) ②时干公式:时干=日干×2+时支 (晨子=-1,夜子=11)