干支纪年和纪日算法
农历及农历干支纪年、纪月、计日、计时方法
⼀年分成⼗⼆⽉,⼆⼗四节紧相连。
按照公历来推算,每⽉两⽓不改变。
上半年是六⽢⼀,下半年逢⼋⽢三。
这些就是交节⽇,有差不过⼀两天。
⼆⼗四节有先后,下列⼝诀记⼼间:⼀⽉⼩寒接⼤寒,⼆⽉⽴春⾬⽔连;惊蛰春分在三⽉,清明⾕⾬四⽉天;五⽉⽴夏和⼩满,六⽉芒种夏⾄连;七⽉⼤暑和⼩暑,⽴秋处暑⼋⽉间;九⽉⽩露接秋分,寒露霜降⼗⽉全;⽴冬⼩雪⼗⼀⽉,⼤雪冬⾄迎新年。
抓紧季节忙⽣产,种收及时保丰年。
⽇的定义:以地球⾃转⼀周为⼀⽇。
其中以太阳离地平线最远的⼀个时⾠为⼦时,作为⼀天的第⼀个时⾠。
那么,⼦时就是在现在0:00前后⼀个⼩时之内。
那么,这样,夏历中的⼀天的开始是在当天的23:00。
⽉策规则:朔⽇为每⽉起点(初⼀⽇);朔⽇(⽉初⼀⽇)到下个朔⽇(下⽉初⼀⽇)有多少天、这⽉就有多少天。
有30天为⼤⽉、有29天为⼩⽉;唐朝(公元619年)以前⽤的是平朔、唐朝(公元619年)以后⽤的是定朔。
年策与置闰规则:以冬⾄⽇必须在⼦⽉(寅正11⽉),上个冬⾄⽉(⼦⽉农历寅正11⽉)到下个冬⾄⽉(⼦⽉\农历寅正11⽉)有12个⽉就不置闰、上个冬⾄⽉(⼦⽉、农历寅正11⽉)到下个冬⾄⽉(⼦⽉、农历寅正11⽉)如有13个⽉就要置闰、以上个冬⾄⽉(⼦⽉农历寅正11⽉)后的第⼀个没中⽓⽉设为闰⽉、在⼏⽉后⾯就称闰⼏⽉。
例如:2032年农历冬⾄⽉到2033年农历冬⾄⽉之间有12个⽉,就不置闰。
2033年农历冬⾄⽉到2034年农历冬⾄⽉有13个⽉就必须置闰,在2033年冬⾄⽉(11⽉)后的第⼀个⽆中⽓之⽉就是2033年冬⾄⽉后的第1个⽉,就定为闰⽉。
它正好在冬⾄⽉(⼦⽉[11⽉])后,所以就叫闰⼦⽉(闰11⽉)。
农历⼲⽀纪年、纪⽉、计⽇、计时⽅法:天⼲地⽀六⼗花甲表:甲⼦⼄丑丙寅丁卯戊⾠⼰巳庚午⾟未壬申癸⾣甲戌⼄亥丙⼦丁丑戊寅⼰卯庚⾠⾟巳壬午癸未甲申⼄⾣丙戌丁亥戊⼦⼰丑庚寅⾟卯壬⾠癸巳甲午⼄未丙申丁⾣戊戌⼰亥庚⼦⾟丑壬寅癸卯甲⾠⼄巳丙午丁未戊申⼰⾣庚戌⾟亥壬⼦癸丑甲寅⼄卯丙⾠丁巳戊午⼰未庚申⾟⾣壬戌癸亥⼲⽀纪年法:甲⼦为第⼀年,⼄丑为第⼆年,丙寅为第三年……六⼗年为⼀周。
如何用天干地支计算年月日时
如何用天干地支计算年月日时如何用天干地支计算年月日时?中国古代的一种纪年法。
即以甲、乙、丙、丁、戊、己、庚、辛、壬、癸为十干,子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥为十二支,把干、支顺序配合。
如甲子、乙丑等,经过六十年又回到甲子。
周而复始,循环不已。
我国农历现仍沿用干支纪年。
干支纪年萌芽于西汉,始行于王莽,通行于东汉后期。
汉章帝元和二年(公元85年),朝廷下令在全国推行干支纪年。
有人认为中国在汉武帝以前用干支纪年。
可是,这就是太岁纪年,用太岁所在纪年,干支表示十二辰(把黄道附一周天分为十二等分)。
木星11.862年绕天一周,所以太岁约86年多走过一辰,这叫做“超辰”。
在颛顼历上,西汉武帝太初元年(前104年)是太岁在丙子,太初历用超辰法改变为丁丑。
汉成帝末年,由刘歆重新编订的三统历又把太初元年改变为丙子,把太始二年(前95年)从乙酉改变为丙戌。
还东汉的历学者没用超辰法。
所以太岁纪年和干支纪年从太始二年表面一样。
但是用天干和地支搭配纪年的表现方式相传自黄帝时期就开始了,在殷墟商代考古发现过六十甲子表的残片。
1.干和支的含义:干支是天干,地支的合称。
干指天干,共有10个符号:12345678910甲乙丙丁戊己庚辛壬癸支指地支,共有12个符号:123456789101112子丑寅卯辰巳午未申酉戌亥2.干和支组合后用于纪年。
即:将十天干和十二地支按顺序搭配组合成干支,用于纪年。
按此排法,当天干10个符号排了六轮与地支12个符号排了五轮以后,可构成60干支。
续排下去又将恢复原状,周而复始,即如民间所说“六十年转甲子”。
[编辑本段]六十年甲子(干支表)12345678910甲子乙丑丙寅丁卯戊辰己巳庚午辛未壬申癸酉11121314151617181920甲戌乙亥丙子丁丑戊寅己卯庚辰辛巳壬午癸未21222324252627282930甲申乙酉丙戌丁亥戊子己丑庚寅辛卯壬辰癸巳31323334353637383940甲午乙未丙申丁酉戊戌己亥庚子辛丑壬寅癸卯41424344454647484950甲辰乙巳丙午丁未戊申己酉庚戌辛亥壬子癸丑51525354555657585960甲寅乙卯丙辰丁巳戊午己未庚申辛酉壬戌癸亥[编辑本段]结合实际了解“十二地支”1.用十二种动物分别与十二地支相配成为“十二生肖年”。
天干地支纪年法及其换算方法
天干由甲、乙、丙、丁、戊、己、庚、辛、壬、癸组成,地支由子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥组成。
天干和地支的循环周期分别是十年和十二年,两个周期综合一起,可以用来纪年。
根据天干地支纪年法,纪年的方式是将天干和地支按照一定的规律组合。
具体的纪年方式如下:天干和地支的组合有60个,称为“六十甲子”。
其中,甲子年是以甲子天干和子地支开始,依次向后排列,直到癸亥年结束。
然后又重新从甲子年开始,形成一个循环。
根据这个循环,可以很容易地将一个公历年份转换为天干地支纪年法中的年份。
比如,将2024年转换为天干地支纪年法中的年份,可以先找到甲子年的位置,然后向后数20个位置,即可得到甲子年往后第20年的年份,即2024年对应的天干地支纪年法中的年份为庚子年。
除了年份的换算外,天干地支纪年法还可以用于月份、日子以及时辰的换算。
具体的换算方式如下:月份的换算:根据天干地支纪年法,每个地支对应一个月份。
比如,子地支对应着正月,丑地支对应着二月,以此类推。
根据地支纪律,可以将公历中的月份转换为天干地支纪年法中的月份。
日子的换算:根据天干地支纪年法,每个天干和地支都与公历中的日子有对应关系。
比如,甲子天干和子地支对应着公历的1日,乙丑对应着2日,以此类推。
根据天干地支的对应规律,可以将公历中的日子转换为天干地支纪年法中的日子。
时辰的换算:根据天干地支纪年法,每个地支对应着一个时辰。
比如,子时对应着子地支,丑时对应着丑地支,以此类推。
根据地支纪律,可以将公历中的时辰转换为天干地支纪年法中的时辰。
总之,天干地支纪年法是中国传统的纪年方式,通过天干和地支两个周期组合起来,可以将公历中的年份、月份、日子和时辰转换为天干地支纪年法中的年份、月份、日子和时辰。
这种纪年法在中国历史上广泛应用,并且至今仍然在一些场合使用。
干支纪年与公历的换算
干支,俗称为“天干地支”,共有六十个,是由天干与地支组成甲子、乙丑、丙寅……,60个组成一个循环,反复使用。
称为六十甲子或六十花甲子。
中国古代用以表示年、月、日、时的次序。
考古发现,在商朝后期帝王帝乙时的一块甲骨上,刻有完整的六十甲子,可能是当时的日历。
这也说明在商朝时已经开始使用干支纪日了。
根据考证,春秋时期鲁隐公三年(前720年)二月己巳,曾发生一次日食。
这是中国使用干支纪日的比较确切的证据。
而使用皇帝年号纪年则是汉武帝时期建元年号。
干支法在中国古代一直使用,从未间断。
因此对研究历史非常有帮助,非常容易推算历史时间。
目录1 干支的一个循环2 干支纪年和纪日与公历的换算3 干支纪年4 干支纪月5 参考文献干支的一个循环甲子乙丑丙寅丁卯戊辰己巳庚午辛未壬申癸酉甲戌乙亥戊子己丑庚寅辛卯壬辰癸巳甲午乙未丙申丁酉戊戌己亥壬子癸丑甲寅乙卯丙辰丁巳戊午己未庚申辛酉壬戌癸亥干支纪年和纪日与公历的换算从已知的公历年份计算干支纪年:年份数减3,除以10的余数是天干,除以12的余数是地支。
从已知日期计算干支纪日的公式为: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其中奇数月i=0,偶数月i=6,C是世纪数减一,y是年份后两位,M是月份,d是日数。
1月和2月按上一年的13月和14月来算。
g除以10的余数是天干,z除以10的余数是地支。
干支纪年干支纪年,一个周期的第一年为“甲子”,第二年为“乙丑”,依此类推,60年一个周期;一个周期完了重复使用,周而复始,循环下去。
如1864年为农历甲子年,60年后的1924年同为农历甲子年;1865年为农历乙丑年,1925年同为农历乙丑年,依次类推。
由于干支纪年重复太多,一个周期仅为60年,因此自汉武帝同时采用皇帝年号纪年。
古代纪年月日法
古代纪年月日法
(1)年号纪年法:由汉武帝开始有年号。
皇帝即位,都要改元,称元年,依次为二年、三年等。
例如,乾隆三十九年十二月。
(2)干支纪年法:
天干:甲、乙、丙、丁、戊、已、庚、辛、壬、癸
地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥
干支两字相配,六十年周而复始,用以纪年。
也可以用来纪日。
纪年,例如,丁卯三月;纪日,例如,是月丁未。
年号与干支可以兼用,例如:元丰七年六月丁丑。
简便的干支纪年推算法
公元年÷10,余数-3,得数为天干;
公元年÷12,余数-3,得数为地支。
例如1999年,1999÷10,余数为9,9-3=6,天干为已;1999÷12,余数为7,7-3=4,地支为卯,1999年就是已卯年。
如果余数小于3,加上一个除数再减3。
例如2001年,2001÷10,余数是1,加上10等于11,11-3=8,天干为辛;2001÷12,余数是9,9-3=6,地支为巳,2001年就是辛巳年。
如果余数-3得0,就是天干或地支的最末一位。
例如1995年,1995÷10,余数为5,5-3=2,天干为乙;1995÷12,余数为3,3-3=0,地支为亥,1995年就是乙亥年。
关于天干地支的记时、记日、记月、纪年法
关于天干地支的记时、记日、记月、纪年法记时法学习天干地支纪时法首先要知道,每天24小时中,每2个小时对应一时辰,共计十二时辰,这十二时辰各自由天干地支所组成,这就是天干地支纪时所使用的元素。
天干地支纪时法规定十二时辰的地支是固定不变的,即子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥等十二时辰,每天十二时辰与24小时的对应关系如下表:中华时辰对应西历小时每日子时 23:00时~ 00:59时每日丑时 01:00时~ 02:59时每日寅时 03:00时~ 04:59时每日卯时 05:00时~ 06:59时每日辰时 07:00时~ 08:59时每日巳时 09:00时~ 10:59时每日午时 11:00时~ 12:59时每日未时 13:00时~ 14:59时每日申时 15:00时~ 16:59时每日酉时 17:00时~ 18:59时每日戌时 19:00时~ 20:59时每日亥时 21:00时~ 22:59时从上表我们得知每天十二个时辰的地支是固定不变的,接下来我们则需要推导出每一时辰的天干是什么,这样才算完成天干地支纪时。
“时”的天干由对照当天的“日干”来推求,推导时辰天干古人早已编成《五鼠遁》歌诀如下:甲己还加甲, 乙庚丙作初;丙辛从戊起, 丁壬庚子居;戊癸何方发, 壬子是真途。
具体推算方法:如甲子日,天干是“甲”,按照歌诀“甲己还加甲”,那么这天从子时起,子时的天干就是甲,也就是甲子时,接下来就是乙丑时,丙寅时,丁卯时……如此排完十二个时辰即可;又如某日是癸卯日,其日干是“癸”,按照歌诀“戊癸何方发,壬子是真途”,那么这天的子时配天干“壬”,也就是壬子时,癸丑时,甲寅时,乙卯时……循序排完十二个时辰便可。
总而言之,如果当天的天干是甲或己,则在子时上配上甲,为甲子时;该日天干是乙或庚的,则在子时上配上丙,为丙子时;天干为丙或辛的日子,则在子时配上戊,为戊子时;丁或壬为日干的,子时为庚子;戊或癸为日干的,子时为壬子。
天干地支纪年月日的计算方法
天干地支纪年(月日时)法一、年的计算方法1、年的天干算法:用公元纪年数减3,除以10(不管商数)所得余数,就是天干所对应的位数;2. 年的地支算法:用公元纪年数减3,除以12(不管商数)所得余数,就是地支所对应的位数;天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥例1. 我们以2010年为例;天干算法:2010-3=2007,2007/10=200余7,7对应天干第7位是庚,即天干为庚;地支算法:2010-3=2007,2007/12=167余3,3对应地支第3位是寅,即地支为寅;综上公元2010是用天干地支纪年为庚寅年。
为使各位信任此算法,本人再举一例来说明:例2. 我们再以1987年为例;天干算法:1987-3=1984,1984/10=198余4,4对应天干第4位是丁,即天干为丁;地支算法:1987-3=1984,1984/12=165余4,4对应地支第4位是卯,即地支为卯;综上公元1987是用天干地支纪年为丁卯年。
二、月的计算方法查表三、日的计算方法查表1、3、5、7、9、11月的日期分别加47、46、47、48、50、51。
2、4、6、8、10、12月的日期分别加18、17、18、19、20、21其中1月和5月一样,2月和6月一样(平年)天干:甲1、乙2、丙3..........壬9、癸0.(个位数)地支:子1、丑2、寅3..........戌11、亥0(除12得的余数)例如:阳历 2010.7.13 7月,日期加48 13+48=61 尾数为1则天干是甲 61/12=5. 余数是1,则地支是1,2010.7.13是甲子日又例:阳历 2010.10.1日 10月,日期加20 1+20=21 尾数是1则天干是甲 21/12=1 余数是9,则地支是9。
2010.10.1是甲申日。
四、时的计算方法。
天干地支纪年月日时方法
天干地支简称“干支”,天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥(注:十二地支对应十二生肖——子:鼠;丑:牛;寅:虎;卯:兔;辰:龙;巳:蛇;午:马;未:羊;申:猴;酉:鸡;戌:狗;亥:猪。
)。
十干和十二支依次相配,组成六十个基本单位,古人以此作为年、月、日、时的序号,叫“干支纪法”。
早在公元前2697年,于中华始祖黄帝建国时,命大挠氏探察天地之气机,探究五行(金木水火土),始作甲、乙、丙、丁、戊、己、庚、辛、壬、癸等十天干,及子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥等十二地支,相互配合成六十甲子用为纪历之符号。
我国历法以月球绕地球一周的时间(29.5306天)为一月,以地球绕太阳一周的时间( 365.2419 天)为一年,为使一年的平均天数与回归年的天数相符,设置闰月。
据记载,公元前六世纪中国开始采用十九年七闰月法协调阴历和阳历。
天干地支,是古人建历法时,为了方便做60进位而设出的符号。
对古代的中国人而言,天干地支的存在,就像阿拉伯数字般的单纯,而且后来更开始把这些符号运用在地图、方位及时间(时间轴与空间轴)上,所以这些数字被赋于的意思就越来越多了。
古人(一说黄帝)观测朔望月,发现两个朔望月约是59天的概念。
12个朔望月大体上是354天多(与一个回归年的长度相近似),古人因此就得到了一年有12个月的概念。
在搭配日记法(十天干),产生阴阳合历,发展出现在的天干地支;较为成熟时应该是在夏商周三代。
【来源】它源自远古时代对天象的观测,是为“河图”。
河图和洛书,乃由天象观察中产生的,在三代时期就成为帝王的宝贵之物。
河图和洛书构造简明,它是中国古代的文化基石之一。
清代经学家廖平,曾将诗经,易经,内经三者反复印证,证实了内经的理论本于易经,而易经之数理又取则于河洛。
河图以十数合五方,五行,阴阳,天地之象。
图式以白圈为阳,为天,为奇数;黑点为阴,为地,为偶数。
中国天干地支与纪年纪月纪日法
中国天干地支与纪年纪月纪日法干支含义:干支是天干,地支的合称。
干指天干,共有10个符号:1 2 3 4 5 6 7 8 9 10甲乙丙丁戊己庚辛壬癸支指地支,共有12个符号:1 2 3 4 5 6 7 8 9 10 11 12子丑寅卯辰巳午未申酉戌亥一、纪年法古代( 1)干和支组合后用于纪年将十天干和十二地支按顺序搭配组合成干支,用于纪年。
按此排法,当天干10个符号排了六轮与地支12个符号排了五轮以后,可构成60干支。
续排下去又将恢复原状,周而复始,即如民间所说'六十年转甲子'。
如《五人墓碑记》:'予犹记周公之被逮,在丁卯三月之望。
'《〈黄花冈七十二烈士事略〉序》:'死事之惨,以辛亥三月二十九日围攻两广督署之役为最。
'近世还常用干支纪年来表示重大历史事件,如'甲午战争'、'戊戌变法'、'庚子赔款'、'辛丑条约'、'辛亥革命'。
例、中国古代以干支纪年,天干是'甲、乙、丙、丁、戊、己、庚、辛、壬、癸',地支是'子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥'。
甲午战争发生于1894年,八国联军侵华的1900年应是()A.己亥年B.庚子年C.辛丑年D.壬寅年选B(2)王公即位年次纪年法以王公在位年数来纪年。
如《左传。
骰之战》:'三十三年春,秦师过周北门。
'指鲁僖公三十三年。
《廉颇蔺相如列传》:'赵惠文王十六年,廉颇为赵将。
' (3)年号纪年法汉武帝起开始有年号。
此后每个皇帝即位都要改元,并以年号纪年。
如《岳阳楼记》'庆历四年春'、《琵琶行》'元和十年'、《游褒禅山记》'至和元年七月某日'、(4)年号干支兼用法纪年时皇帝年号置前,干支列后。
如《扬州慢》'淳熙丙申','淳熙'为南宋孝宗赵昚(shen)年号,'丙申'是干支纪年;《祭妹文旷乾隆丁亥冬','乾隆'是清高宗爱新觉罗·弘历年号,'丁亥'是干支纪年。
如何计算年月日时干支
年月日时干支是中国传统历法中使用的一种时间计算方法,主要用于干支纪年、纪月、纪日和纪时。
干支是指天干和地支,共十干十二支,分别表示了不同的年、月、日、时。
下面将详细介绍如何计算年月日时干支。
1.干支纪年:干支纪年是以十天干和十二地支为基础,循环周期为60年。
根据甲子纪年表,可以得到甲子年为第一年,乙丑年为第二年,以此类推。
计算方法如下:-年份除以60,得到的余数对应地支的序号,余数为0时对应地支为第12位。
-年份除以10,得到的余数对应天干的序号,余数为0时对应天干为第10位。
例如,2024年对应的是辛丑年,辛为第8位天干,丑为第2位地支。
2.干支纪月:干支纪月是以天干和地支纪法来计算月份,每年的月份循环周期为12个月。
计算方法如下:-以立春为分界点,立春前为腊月,立春后为正月。
-计算年份的天干位置,例如2024年是辛丑年,辛为第8位,丑为第2位。
-计算立春的干支纪年,例如2024年的立春是在2月3日,即辛丑年的干支纪年为庚寅年。
-计算干支纪月,以立春为始,依次按照干支顺序排列,例如辛丑年的立春前一月为庚子月。
3.干支纪日:干支纪日是根据天干和地支的顺序来编号和计算每一天。
计算方法如下:-天干序号除以十,得到的余数为干日的序号,余数为0时对应干日为第10位。
-地支序号除以十二,得到的余数为支日的序号,余数为0时对应支日为第12位。
例如,2024年1月1日对应的是庚子日,庚为第7位天干,子为第1位地支。
4.干支纪时:干支纪时是在一天24小时的基础上,根据天干和地支的顺序来计算每个时辰的干支。
-从早子时开始,依次按照天干地支的顺序对应到每个时辰。
-例如,早子时对应甲子时,早丑时对应乙丑时,以此类推,晚子时再次对应甲子时。
需要注意的是,以上的计算方法是以农历为基础,对应的公历日期可能会有所不同。
同时也需要考虑到历法的变化和修正。
在实际应用中,通常可以通过查询相关的农历工具或网站来获取具体的干支纪年、纪月、纪日和纪时。
干支纪年(月、日计算公式)
干支纪年(月、日计算公式)1 萌芽干支纪年萌芽于西汉,始行于王莽,通行于东汉后期。
汉章帝元和二年(公元85年),朝廷下令在全国推行干支纪年。
有人认为中国在汉武帝以前用干支纪年。
可是,这就是太岁纪年,用太岁所在纪年,干支表示十二辰(把黄道附一周天分为十二等分)。
木星11.862年绕天一周,所以太岁约86年多走过一辰,这叫做“干支纪年超辰”。
在颛顼历上,西汉武帝太初元年(前104年)是太岁在丙子,太初历用超辰法改变为丁丑。
汉成帝末年,由刘歆重新编订的三统历又把太初元年改变为丙子,把太始二年(前95年)从乙酉改变为丙戌。
还东汉的历学者没用超辰法。
所以太岁纪年和干支纪年从太始二年表面一样。
1.干和支的含义:干支是天干,地支的合称。
干指天干,共有10个符号:1 2 3 4 5 6 7 8 9 10甲乙丙丁戊己庚辛壬癸支指地支,共有12个符号:1 2 3 4 5 6 7 8 9 10 11 12子丑寅卯辰巳午未申酉戌亥2.干和支组合后用于纪年。
即:将十天干和十二地支按顺序搭配组合成干支,用于纪年。
按此排法,当天干10个符号排了六轮与地支12个符号排了五轮以后,可构成60干支。
续排下去又将恢复原状,周而复始,即如民间所说“六十年转甲子”。
2 查看万年历如:1516—2060年的万年历,记着五百年的干支,一查便知。
六十年甲子(干支表)1 2 3 4 5 6 7 8 9 10甲子乙丑丙寅丁卯戊辰己巳庚午辛未壬申癸酉11 12 13 14 15 16 17 18 19 20甲戌乙亥丙子丁丑戊寅己卯庚辰辛己壬午癸未21 22 23 24 25 26 27 28 29 30甲申乙酉丙戌丁亥戊子己丑庚寅辛卯壬辰癸巳31 32 33 34 35 36 37 38 39 40甲午乙未丙申丁酉戊戌己亥庚子辛丑壬寅癸卯41 42 43 44 45 46 47 48 49 50甲辰乙巳丙午丁未戊申己酉庚戌辛亥壬子癸丑51 52 53 54 55 56 57 58 59 60甲寅乙卯丙辰丁巳戊午己未庚申辛酉壬戌癸亥根据“六十年甲子(干支表)”的公元年对应进行向上或朝下地反推。
干支纪年、纪月、纪日和纪时简单计算方法
干支纪年、纪月、纪日和纪时简单计算方法展开全文干支纪年法如甲子为第一年,乙丑为第二年,丙寅为第三年……六十年为一周。
一周完了,再由甲子年起,周而始,循环下去。
例如1929年是农历己巳年,1930年是农历庚午年……到1989年又是农历己巳年。
我们在日历上看到的己巳年、庚午年,就是按干支纪年这种方法排列下来的。
阳历年份除以60的余数减3便得该年农历干支序号数,再查上面的干支便是干支年纪。
如果序号数小于、等于零则于支序号数加60。
例如,求1991年干支;1991÷60=33余11,年干支序号数=11-3=8。
查干支表知该年为辛未年。
又如求1983年干支:1983÷60=33余3,干支序号=3-3=0,加上60,查干支表知该年为癸亥。
干支纪月法干支纪月法未普遍实行,主要为星相家推算八字用。
其方法为:若遇甲或己的年份,正月是丙寅;遇上乙或庚之年,正月为戊寅;丙或辛之年正月为庚寅,丁或壬之年正为为壬寅,戊或癸之年正月为甲寅。
正月之干支知道了,其余月可按六十甲子的序推知。
干支纪日法甲炎了第一日,乙丑为第二日,丙寅为第三日……60日为一周。
一周完了再由甲子日起,周而复始,循环下去。
例如农历己巳年(1989年)正月初一是丁酉日,初二是戊戌日……到三月初七正好是60天,因此三月初二又是丁酉日。
干支纪时法一天中时辰的地支也是确定的,所以二十四小时配十二地支,由夜间十一点至一点为子时,一点至三点为丑时,其余照推。
时的天由该日所对天干推求,其歌戾如下:甲己还生甲,乙庚丙作初,丙辛从戊起,丁壬庚子居,戊癸何方发,壬子是真途。
即若该日是甲或己的,在子时上配上甲为甲子;日是乙或庚的,在子时上配上丙为丙子;丙辛日子时配上戊为戊子;丁任日为庚子;戊癸日为壬子。
知道了子时的干支,便可推知其余。
古代纪年法、天干地支、十二生肖、二十四节气
二十四节气歌
春雨惊春清谷天,夏满芒夏暑相连。 秋处露秋寒霜降,冬雪雪冬小大寒。 上半年逢六廿一,下半年逢八廿三。 每月两节日期定,最多相差一二天。
(廿:niàn 二十)
.
第3位是寅,即地支为寅;
.
.
二十四节气
二十四节气起源于黄河流域。远在春秋时 代,就定出仲春、仲夏、仲秋和仲冬等四个节 气。以后不断地改进与完善,到秦汉年间,二 十四节气已完全确立。公元前104年,由邓平 等制定的《太初历》,正式把二十四节气订于 历法,明确了二十四节气的天文位置。
.
太阳从黄经零度起,沿黄经每运行15度所经历的时日称为 “一个节气”。每年运行360度,共经历24个节气,每月2个。 其中,每月第一个节气为“节气”;每月的第二个节气为“中 气”,“节气” 和“中气”交替出现,各历时15天,现在人 们已经把“节气”和“中气”统称为“节气”。
2. 地支算法:用公元纪年数减3,除以12(不管 商数)所得余数,就是地支所对应的位数;
例1. 我们以2010年为例; 天干算法: 2010-3=2007, 2007/10=200余7, 7对应天干 第7位是庚,即天干为庚; 地支算法: 2010-3=2007, 2007/12=167余3, 3对应地支
一、古代纪年、纪日、纪时法
1.干支纪年法
王公即位的年次 年号(汉武帝) 干支纪年法
2.纪日法
干支纪日法
初一(朔)、十五(望)、十 六(既望)、最后一天(晦)
.
3.古代纪时法
日晷Leabharlann 更鼓 刻漏.十二时辰
.
中国人的十二属相
.
十二生肖
.
天干地支算法
1. 天干算法:用公元纪年数减3,除以10(不管 商数)所得余数,就是天干所对应的位数;
农历天干地支算法天干地支年月日时算法
农历天干地支算法天干地支年月日时算法干支纪年法一.十支纪年是我国传统的纪年方法。
1.干和支的含义:干支是天干,地支的合称。
干指天干,共有10个符号:1 2 3 4 5 6 7 8 9 10甲乙丙丁戊己庚辛壬癸支指地支,共有12个符号:1 2 3 4 5 6 7 8 9 10 11 12子丑寅卯辰巳午未申酉戌亥2.干和支组合后用于纪年。
即:将十天干和十二地支按顺序搭配组合成干支,用于纪年。
按此排法,当天干10个符号排了六轮与地支12个符号排了五轮以后,可构成60干支。
续排下去又将恢复原状,周而复始,即如民间所说“六十年转甲子”。
天干是:甲、乙、丙、丁、戊、己、庚、辛、壬、癸,也叫天干;地支是:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥,也称十二地支。
干支还有阴阳之分:甲、丙、戊、庚、壬为阳干,乙、丁、己、辛、癸为阴干;子、寅、辰、午、申、戌为阳支,丑、卯、巳、未、酉、亥为阴支。
以一个天干和一个地支相配,排列起来,天干在前,地支在后,天干由甲起,地支由子起,阳干配阳支,阴干配阴支(阳干不配阴支,阴干不配阳支),天干经六个循环,地支经五个循环正好是六十,就叫做“六十干支”。
按照这样的顺序每年用一对干支表示,六十年一循环,叫做“六十花甲子”。
二.查看不同时间段的万年历。
如:1516—2060年的万年历,记着五百年的干支,一查便知。
六十年甲子(干支表)1 2 3 4 5 6 7 8 9 10甲子乙丑丙寅丁卯戊辰己巳庚午辛未壬申癸酉11 12 13 14 15 16 17 18 19 20甲戌乙亥丙子丁丑戊寅己卯庚辰辛己壬午癸未21 22 23 24 25 26 27 28 29 30甲申乙酉丙戌丁亥戊子己丑庚寅辛卯壬辰癸巳31 32 33 34 35 36 37 38 39 40甲午乙未丙申丁酉戊戌己亥庚子辛丑壬寅癸卯41 42 43 44 45 46 47 48 49 50甲辰乙巳丙午丁未戊申己酉庚戌辛亥壬子癸丑51 52 53 54 55 56 57 58 59 60甲寅乙卯丙辰丁巳戊午己未庚申辛酉壬戌癸亥根据“六十年甲子(干支表)”的公元年对应进行向上或朝下地反推。
计算日天干地支的公式
计算日天干地支的公式日天干地支是根据中国农历(阴阳历)中对天干和地支的组合规律而得出的。
在计算日天干地支的公式中,分为两个主要的部分,分别是计算地支和计算天干。
地支的计算公式如下:地支是按照周期性变化的十二地支来计算的。
每个地支周期为12年。
将农历年数减去3(因为我们假设1900年是甲子年,所以农历年数需要减去3)除以12后的余数,即可得到该年的地支。
地支的编号分别为:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。
例如,2024年是甲子年,通过计算2024-1900=124,124÷12=10余4,所以2024年的地支是辰年。
天干的计算公式如下:天干是按照周期性变化的十天干来计算的。
每个天干周期为10年。
将农历年数减去3(因为我们假设1900年是甲子年,所以农历年数需要减去3)除以10后的余数,即可得到该年的天干。
天干的编号分别为:甲、乙、丙、丁、戊、己、庚、辛、壬、癸。
例如,2024年是甲子年,通过计算2024-1900=124,124÷10=12余4,所以2024年的天干是丙年。
综合地支和天干的计算结果,即可得到日天干地支的组合。
例如,2024年的地支是辰年,天干是丙年,所以2024年的日天干地支是丙辰年。
需要注意的是,以上公式适用于农历年份的计算,如果要计算公历年份的日天干地支,需要先将公历年份转换为农历年份,然后再按照以上方法进行计算。
此外,根据天干地支的规律,可以得出一些特定年份的天干地支。
其中最常见的是60年一循环的干支纪年法,即甲子、乙丑、丙寅、丁卯、戊辰、己巳、庚午、辛未、壬申、癸酉、甲戌、乙亥、丙子、丁丑、戊寅、己卯、庚辰、辛巳、壬午、癸未、甲申、乙酉、丙戌、丁亥、戊子、己丑、庚寅、辛卯、壬辰、癸巳、甲午、乙未、丙申、丁酉、戊戌、己亥、庚子、辛丑、壬寅、癸卯、甲辰、乙巳、丙午、丁未、戊申、己酉、庚戌、辛亥、壬子、癸丑、甲寅、乙卯、丙辰、丁巳、戊午、己未、庚申、辛酉、壬戌、癸亥。
年、月、日、时之干支推算方法
年、月、日、时之干支推算方法干支是天干和地支的总称。
甲、乙、丙、丁、戊、己、庚、辛、壬、癸十个符号叫天干;子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥十二个符号叫地支。
中国古代采取天干地支作为计算年,月,日,时的方法,就是把每一个天干和地支按照一定的顺序而不重复地搭配起来,用来作为纪年,纪月,纪日,纪时的代号。
把“天干”中的一个字摆在前面,后面配上“地支”中的一个字,这样就构成一对干支。
如果“天干”以“甲”字开始,“地支”以“子”字开始顺序组合,就可以得到干支表:《中华人民共和国国家标准GB/T33661—2017〈农历的编算和颁行〉》规定了干支纪年和生肖纪年起于正月初一0点。
一、年之干支计算法干支是天干与地支的组合,天干是十年一循环,因此,可以通过年份的个位来计算天干。
地支是十二年一循环,可以根据年份除以12所得余数来计算地支。
干支纪年法,60年为一周。
当年份为正数(公元后)时,可由下表计算其干支。
表2表3当年份为负数(公元前)时,将年份加一个数60n+1,此处n为自然数,从而得到一个正数,然后用这个正数来计算。
例如,公元前222年,即-222年,加上一个数,这个数可以为241(n=4,60n+1=241),-222+241=19,也就是说,公元前222年与公元19年的干支是相同的。
由前面所述的表格可计算得公元19年是己卯年,因此,公元前222年是己卯年。
二、月之干支计算法夏历是阴阳合历,是根据太阳、月亮及地球的运转规律制定的历法。
常年一年有12个月,有闰月时一年有13个月,其中有一个月没有中气,为闰月,闰月的干支沿用上一个月的。
比如,五月与闰五月,这两月只有一个中气---夏至,于是视为一个月,用同一干支。
因此,干支纪月,一年为固定的12个月。
曾经有人提出,干支采用节气来定月,立春到惊蛰为一月,惊蛰到清明为二月,清明到立夏为三月,如此类推。
但当时未被政府采纳。
这个建议解决了如何处理闰月的问题,但是,这样干支纪月与自然月会出现偏差,比如,甲子年的正月初八到二月初六这一段为丙寅月,这个怎么都觉得别扭。
干支纪年的推算方法
A 干支纪年的推算方法我们中国古代是以干支纪年、月、日、时。
干,即十干:甲乙丙丁戊己庚辛壬癸支,即十二支:子丑寅卯辰巳午未申酉戌亥干支纪年推算方法一:设定天干地支的对应数字如下:天干:甲乙丙丁戊己庚辛壬癸4 5 6 7 8 9 0 1 2 3地支:子丑寅卯辰巳午未申酉戌亥4 5 6 7 8 9 10 11 0 1 2 3推算方法:某年的天干就是这个年分的个位数所对应的天干,地支就是这个年分除以12所得余数的对应地支。
如1997年,个位是7,对应的天干是“丁”;1997除以12余数为5,对应的地支是“丑”,那么,1997年就为“丁丑年”。
再如2000年,个位数是0,对应的天干就是“庚”;2000除以12余数为8,对应的地支是“辰”,那么2000年就是“庚辰年”。
方法二:首先记住六十甲子的序数六十甲子表01 甲子11 甲戌21 甲申31 甲午41 甲辰51 甲寅02 乙丑12 乙亥22 乙酉32 乙未42 乙巳52 乙卯03 丙寅13 丙子23 丙戌33 丙申43 丙午53 丙辰04 丁卯14 丁丑24 丁亥34 丁酉44 丁未54 丁巳05 戊辰15 戊寅25 戊子35 戊戌45 戊申55 戊午06 己巳16 己卯26 己丑36 己亥46 己酉56 己未07 庚午17 庚辰27 庚寅37 庚子47 庚戌57 庚申08 辛未18 辛巳28 辛卯38 辛丑48 辛亥58 辛酉09 壬申19 壬午29 壬辰39 壬寅49 壬子59 壬戌10 癸酉20 癸未30 癸巳40 癸卯50 癸丑60 癸亥推算方法公式:(所求干支的阳历年数—3)除以60=商……余数这里的余数即为所求干支年的序数,然后查上面的六十甲子表,与之相对应的干支即为所求年干支公元纪年与干支纪年的推算(2009-04-24 21:36:35)由公元纪年推算干支纪年法一:六十天干纪年法一览表于公元前后的推算均适用,具体的方法如下:1,求公元后某年(设为Y)的干支。
干支纪年和纪日算法
干支纪年和纪日算法(怎样从已知年份和日期得到对应地干支纪年和纪日)摘要:从已知年份计算干支纪年很简单:年份数减,除以地余数是天干,除以地余数是地支.从已知日期计算干支纪日地公式和蔡勒公式很相像,如下:[] [] [*() ][] [] [*() ] (奇数月,偶数月)其中是世纪数减一,是年份后两位,是月份,是日数.月和月按上一年地月和月来算.除以地余数是天干,除以地余数是地支.巧妙运用和干支有关地几个计算公式,还可以在没有万年历地情况下推算出古书里地干支纪日对应地公历日期.干支纪日,从夏朝就开始使用了.根据对中国古代历史典籍《春秋》中记载地日食地研究,我国地干支纪日,从鲁隐公三年二月己巳日(公元前年月日)开始,一直到今天,都未曾间断.干支纪年地出现则略晚一些,直到东汉元和二年(公元年)政府才下令在全国实行,至今也未曾间断.因此,凡是需要接触中国历史地人,总不免要遇到查某一年地干支或某一日地干支,以及由年干支和日干支推算是哪一年或哪一日地问题.通常,这类转换靠查历书都可以解决.但既然干支也是一个循环系统,自然也就有从年份和日期求干支地公式.在介绍求年干支和日干支地公式前,先把干支地特点介绍一下.干支是天干和地支地组合.天干有十个,即甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支有十二个,即子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥.天干和地支从“甲子”开始,按顺序逐一相配,各用到最后一个时,再从第一个开始继续相配,就形成了六十个干支,也称“六十花甲子”.为什么是六十个干支呢?这个从数学上很容易回答.根据干支地构成条件,其循环周期必然是天干数和地干数地最小公倍数.而正是和地最小公倍数.如果我们把“甲子”编为号,“乙丑”编为号,这样编下去,就可以得到一个干支和序号地对照表,如下:.甲子 .乙丑 .丙寅 .丁卯 .戊辰 .己巳 .庚午 .辛未.壬申 .癸酉 .甲戌 .乙亥 .丙子 .丁丑 .戊寅 .己卯.庚辰 .辛巳 .壬午 .癸未 .甲申 .乙酉 .丙戌 .丁亥.戊子 .己丑 .庚寅 .辛卯 .壬辰 .癸巳 .甲午 .乙未.丙申 .丁酉 .戊戌 .己亥 .庚子 .辛丑 .壬寅 .癸卯.甲辰 .乙巳 .丙午 .丁未 .戊申 .己酉 .庚戌 .辛亥.壬子 .癸丑 .甲寅 .乙卯 .丙辰 .丁巳 .戊午 .己未.庚申 .辛酉 .壬戌 .癸亥细心观察这张表,不难发现,由序号得到对应干支是很容易地,序号除以地余数就是天干地序数(如果余数是,则为最后一个天干癸),序号除以地余数就是地支地序数(如果余数是,则为最后一个地支亥).比如号干支,因为(表示取余数),对应地天干是庚,,对应地地支是子,所以号干支就是庚子.显然,一个整数除以地余数就是它地个位数,这就使求天干更方便了.而由干支推它地序号,也不困难.这其实就是一个同余方程组地求解问题,我们用初等数论中地中国剩余定理就可以解决.比如要算戊午地序号是多少,根据上面由序号得到对应干支地原理,很容易得到如下方程组:{{ .其中是待求地干支序号.根据中国剩余定理,有:≡* * ( ) ,即戊午地序号是.这和上面地对照表地是一致地.一般地,若天干地序号为,地支地序号为,则干支地序号为:≡( ) ()简单点说,如果地结果是正数,这个数就是干支地序号;如果是负数,把它加上就是干支地序号.了解了干支及其序号地相互推算,下面我们先来介绍年干支地求算.需要说明地是,干支纪年纪地是农历年,而不是公历年.但因为农历年地岁首和公历年地岁首相隔较近,使农历年总是和某一公历年地大部分重合,因此,通常也用公历年地年份表示和它大部分重合地农历年.这样我们就很容易给出农历年地干支序号为:() ,()其中是年份.得到了干支序号,就可以求出相应地干支来.比如年地干支序号:() ,,天干为甲,,地支为申,因此,年是甲申年.细心观察,我们可以发现,其实用直接除以,就可以得到天干,用直接除以,就可以得到地支.这是因为()等价于* ,其中是除以地商数.等式两边同时除以,余数也必然相等.而右边第一项是地倍数,自然也是地倍数,能够被整数,于是除以地余数就必然等于除以地余数.因此,其实我们完全用不着先求干支地序号,而可以分别求天干和地支,合起来就是干支,这样就减少了一步运算.而对于年份地天干,同样只须看末尾一位.末尾为地年份地天干总是甲,末尾为地年份地天干总是乙……依次类推.再来看日干支地求算.我们可以仿照星期地求算,得到一个比较直观地计算日干支地公式如下:()* [()] [()] [()] ,()其中是年份,是累积天数,[...]表示取商数,也就是只取计算结果地整数部分.把除以,余数就是干支地序号.或者把除以或,可以直接得到日天干和日地支.不过,和形式相似地求星期地公式一样,这个公式还不够简炼,特别是第一项()*,在为四位数年份时,计算出来地结果是一个较大地四位数或五位数,口算很不方便.我们用推导蔡勒公式地办法,可以改进这个公式.先来看和年份有关地部分地改进.我们知道,按公历地置闰规则,一个世纪地总天数可能是天,或天.如果这个世纪中末尾为地年份是闰年,这个世纪就只有天;否则就只有天.我们不妨称有天地世纪为“平世纪”,有天地世纪为“闰世纪”.对于平世纪,因为,所以,每过一个平世纪,同一天地干支就向后推进个序号.同样,每过一个闰世纪,同一天地干支就向后推进个序号.这就使我们很容易得到一个计算每个世纪第一年(年份末尾为)月日地公式:[] ,()其中是世纪数减一.而计算任一年月日地干支地公式也可以很快得到:[] () [] ,即[] [] ,()其中是年份后两位数字.下面我们再列出每月天数:月份月月月月月月月月月月月月天数()减后地剩余天数()如果把月和月看成是上一年地月和月,同样可以得到下面地式子:’ ≡[*() ] ( ) ()及’ ≡[*() ] ( ) (奇数月,偶数月),()其中,’是从月日开始算起地累积天数,是月份,是日数.把()()两式和()式合起来,再进行适当地化简,就得到了计算公历任意一天地天干和地支地公式:[] [] [*() ] ;()[] [] [*() ] (奇数月,偶数月)()如果先求得了,那么(奇数月,偶数月).()地个位数就是天干序号,除以地余数就是地支序号.这里需要再次强调:月和月是当做上一年地月和月来算地,因此和也要按上一年地年份来取值.我们可以把()()两式和蔡勒公式对比一下:[] [] [*() ] ,可以看出它们地形式非常相似,区别仅仅是几个常数地不同.尽管现在中国已经不用干支纪日了,但有时还是需要计算日干支地.比如,历法有所谓“三伏”和“入梅”“出梅”,都和日干支有关.三伏包括初伏、中伏和末伏,是指夏天最热地一段时间,入梅和出梅是指江南一带梅雨季节地开始和结束,本来是和气候有关地用语.但因为古代没有准确地天气预报,无法准确预测三伏和入出梅地时间,所以就在历书上硬性规定几个日子作为三伏开始和入出梅地日子,这样确定一个大致地日期以备参考.现在虽然有了比较准确地天气预报,但三伏和入出梅作为一种传统历法,仍然流传下来.历法规定夏至之后地第三个庚日为初伏开始,共十天;第四个庚日为中伏开始,十天或二十天;立秋之后地第一个庚日为末伏开始,共十天.中伏地长度之所以不固定,是因为夏至、立秋地日期和庚日地日期是逐年浮动地,立秋之后地第一个庚日可能是夏至之后地第五个庚日,也可能是第六个庚日.如果是前者,中伏就只有十天;如果是后者,中伏就长达二十天.注意如果夏至当天是庚日,夏至之后第一个庚日是指夏至之后第十天,而不是夏至当天,这时初伏第一天就是夏至之后第三十天.同样,如果立秋当天是庚日,末伏第一天就是立秋之后第十天,而不是立秋当天.入梅则是指芒种之后地第一个丙日,出梅是指小暑之后地第一个未日,也有同样地规定.知道了这些,我们可以算一下年地初伏、中伏和末伏都是什么日子.这需要先知道夏至和立秋地日子.如果知道夏至是月日,立秋是月日,那么运用公式(),夏至这天地为:* [] * [] [*() ],个位数是,天干是辛.夏至之后第三个庚日就是夏至之后第天,也就是月日,这天也就是初伏第一天.中伏第一天则是月日.同样可算出立秋这天地为:* [] * [] [*() ],是个戊日.立秋之后第一个庚日就是立秋之后第天,也即月日,这天就是末伏第一天.由此也可知,年地中伏只有十天.同样可以由芒种和小暑两节气地日期,算出年地入梅日和出梅日分别是月日和月日.反过来,知道了年干支和日干支,求相应地年份和日期就相对麻烦一点了.因为干支是循环使用地,所以必须先知道欲求对应年份和日期地干支是属于哪一次循环.比如我们预先用公式()算出来、、年都是甲子年,如果要知道戊戌变法是哪一年,首先要确定它是十九世纪末地事情,也即是属于年开始地这一个循环里.那么,我们用公式()可以算出来戊戌地序号是,于是戊戌年就是()年.之所以要先减一,是因为甲子地序号为,需要把这个序号先减去.至于日干支,因为古书里地日干支总是和年、月配合使用地,所以不难确定它属于哪个循环.比如《明史·庄烈帝本纪》记载明崇祯皇帝朱由检在煤山自缢地日子是崇祯十六年三月丁未.崇祯十六年就是公元年.三月虽然是农历地三月,但我们知道农历地日期在公历里虽然是浮动地,但也不出一定地范围,比如农历三月初一,总是在公历月日到月日之间浮动.因此,先来算年月日地干支.我们有:* [] * [] [*() ],个位数是,,除以余,所以这一天地干支是癸酉,其序号为**.而丁未地序号是**,在癸未之后天,因此三月丁未肯定是月日之后天,即月日.这就是说,崇祯自缢地日子是年月日,这和查万年历地结果是一致地.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
干支纪年和纪日算法(怎样从已知年份和日期得到对应的干支纪年和纪日)摘要:从已知年份计算干支纪年很简单:年份数减3,除以10的余数是天干,除以12的余数是地支。
从已知日期计算干支纪日的公式和蔡勒公式很相像,如下: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 (奇数月i=0,偶数月i=6)其中C是世纪数减一,y是年份后两位,M是月份,d是日数。
1月和2月按上一年的13月和14月来算。
g除以10的余数是天干,z除以10的余数是地支。
巧妙运用和干支有关的几个计算公式,还可以在没有万年历的情况下推算出古书里的干支纪日对应的公历日期。
------------------------------------------------------------------------------干支纪日,从夏朝就开始使用了。
根据对中国古代历史典籍《春秋》中记载的日食的研究,我国的干支纪日,从鲁隐公三年二月己巳日(公元前720年2月10日)开始,一直到今天,都未曾间断。
干支纪年的出现则略晚一些,直到东汉元和二年(公元85年)政府才下令在全国实行,至今也未曾间断。
因此,凡是需要接触中国历史的人,总不免要遇到查某一年的干支或某一日的干支,以及由年干支和日干支推算是哪一年或哪一日的问题。
通常,这类转换靠查历书都可以解决。
但既然干支也是一个循环系统,自然也就有从年份和日期求干支的公式。
在介绍求年干支和日干支的公式前,先把干支的特点介绍一下。
干支是天干和地支的组合。
天干有十个,即甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支有十二个,即子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。
天干和地支从“甲子”开始,按顺序逐一相配,各用到最后一个时,再从第一个开始继续相配,就形成了六十个干支,也称“六十花甲子”。
为什么是六十个干支呢?这个从数学上很容易回答。
根据干支的构成条件,其循环周期必然是天干数和地干数的最小公倍数。
而60正是10和12的最小公倍数。
如果我们把“甲子”编为1号,“乙丑”编为2号,这样编下去,就可以得到一个干支和序号的对照表,如下:1.甲子2.乙丑3.丙寅4.丁卯5.戊辰6.己巳7.庚午8.辛未9.壬申10.癸酉11.甲戌12.乙亥13.丙子14.丁丑15.戊寅16.己卯17.庚辰18.辛巳19.壬午20.癸未21.甲申22.乙酉23.丙戌24.丁亥25.戊子26.己丑27.庚寅28.辛卯29.壬辰30.癸巳31.甲午32.乙未33.丙申34.丁酉35.戊戌36.己亥37.庚子38.辛丑39.壬寅40.癸卯41.甲辰42.乙巳43.丙午44.丁未45.戊申46.己酉47.庚戌48.辛亥49.壬子50.癸丑51.甲寅52.乙卯53.丙辰54.丁巳55.戊午56.己未57.庚申58.辛酉59.壬戌60.癸亥细心观察这张表,不难发现,由序号得到对应干支是很容易的,序号除以10的余数就是天干的序数(如果余数是0,则为最后一个天干癸),序号除以12的余数就是地支的序数(如果余数是0,则为最后一个地支亥)。
比如37号干支,因为37 mod 10=7(mod表示取余数),对应的天干是庚,37 mod 12=1,对应的地支是子,所以37号干支就是庚子。
显然,一个整数除以10的余数就是它的个位数,这就使求天干更方便了。
而由干支推它的序号,也不困难。
这其实就是一个同余方程组的求解问题,我们用初等数论中的中国剩余定理就可以解决。
比如要算戊午的序号是多少,根据上面由序号得到对应干支的原理,很容易得到如下方程组:{ x mod 10 = 5{ x mod 12 = 7.其中x是待求的干支序号。
根据中国剩余定理,有:x ≡6 * 5 - 5 * 7 (mod 60) = 55,即戊午的序号是55.这和上面的对照表的是一致的。
一般地,若天干的序号为m,地支的序号为n,则干支的序号为:x ≡6m - 5n (mod 60) (1)简单点说,如果6m-5n的结果是正数,这个数就是干支的序号;如果是负数,把它加上60就是干支的序号。
了解了干支及其序号的相互推算,下面我们先来介绍年干支的求算。
需要说明的是,干支纪年纪的是农历年,而不是公历年。
但因为农历年的岁首和公历年的岁首相隔较近,使农历年总是和某一公历年的大部分重合,因此,通常也用公历年的年份表示和它大部分重合的农历年。
这样我们就很容易给出农历年的干支序号为:x = (Y-3) mod 60,(2)其中Y是年份。
得到了干支序号x,就可以求出相应的干支来。
比如2004年的干支序号:x = (2004-3) mod 60 = 2001 mod 60 = 21,21 mod 10=1,天干为甲,21 mod 12=9,地支为申,因此,2004年是甲申年。
细心观察,我们可以发现,其实用Y-3直接除以10,就可以得到天干,用Y-3直接除以12,就可以得到地支。
这是因为x = (Y-3) mod 60等价于Y-3 = 60 * n + x,其中n是Y-3除以60的商数。
等式两边同时除以10,余数也必然相等。
而右边第一项是60的倍数,自然也是10的倍数,能够被10整数,于是Y-3除以10的余数就必然等于x除以10的余数。
因此,其实我们完全用不着先求干支的序号,而可以分别求天干和地支,合起来就是干支,这样就减少了一步运算。
而对于年份的天干,同样只须看末尾一位。
末尾为4的年份的天干总是甲,末尾为5的年份的天干总是乙……依次类推。
再来看日干支的求算。
我们可以仿照星期的求算,得到一个比较直观的计算日干支的公式如下:G = (Y-1)*5 + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D + 15,(3)其中Y是年份,D是累积天数,[...]表示取商数,也就是只取计算结果的整数部分。
把G除以60,余数就是干支的序号。
或者把G除以10或12,可以直接得到日天干和日地支。
不过,和形式相似的求星期的公式一样,这个公式还不够简炼,特别是第一项(Y-1)*5,在Y为四位数年份时,计算出来的结果是一个较大的四位数或五位数,口算很不方便。
我们用推导蔡勒公式的办法,可以改进这个公式。
先来看和年份有关的部分的改进。
我们知道,按公历的置闰规则,一个世纪的总天数可能是36524天,或36525天。
如果这个世纪中末尾为00的年份是闰年,这个世纪就只有36525天;否则就只有36524天。
我们不妨称有36524天的世纪为“平世纪”,有36525天的世纪为“闰世纪”。
对于平世纪,因为36524 mod 60 = 44,所以,每过一个平世纪,同一天的干支就向后推进44个序号。
同样,每过一个闰世纪,同一天的干支就向后推进45个序号。
这就使我们很容易得到一个计算每个世纪第一年(年份末尾为01)3月1日的公式:G = 44C + [C/4] + 15,(4)其中C是世纪数减一。
而计算任一年3月1日的干支的公式也可以很快得到:G = 44C + [C/4] + 5(y-1) + [y/4] + 15,即G = 44C + [C/4] + 5y + [y/4] + 10,(5)其中y是年份后两位数字。
下面我们再列出每月天数:月份1月2月3月4月5月6月7月8月9月10月11月12月--------------------------------------------------------------------------- 天数31 28(29) 31 30 31 30 31 31 30 31 30 31减30后的剩余天数 1 -2(-1) 1 0 1 0 1 1 0 1 0 1如果把1月和2月看成是上一年的13月和14月,同样可以得到下面的式子:D’ ≡[3*(M+1) / 5] + d - 2 (mod 10) (6)及D’ ≡[3*(M+1) / 5] + d - 2 + i (mod 12) (奇数月i=0,偶数月i=6),(7)其中,D’是从3月1日开始算起的累积天数,M是月份,d是日数。
把(6)(7)两式和(5)式合起来,再进行适当的化简,就得到了计算公历任意一天的天干和地支的公式:g = 4C + [C/4] + 5y + [y/4] + [3*(M+1) / 5] + d - 3;(8)z = 8C + [C/4] + 5y + [y/4] + [3*(M+1) / 5] + d + 7 + i (奇数月i=0,偶数月i=6)(9)如果先求得了g,那么z = g + 4C + 10 + i (奇数月i=0,偶数月i=6).(10)g的个位数就是天干序号,z除以12的余数就是地支序号。
这里需要再次强调:1月和2月是当做上一年的13月和14月来算的,因此C和y也要按上一年的年份来取值。
我们可以把(8)(9)两式和蔡勒公式对比一下:W = -2C + [C/4] + y + [y/4] + [13*(M+1) / 5] + d - 1,可以看出它们的形式非常相似,区别仅仅是几个常数的不同。
尽管现在中国已经不用干支纪日了,但有时还是需要计算日干支的。
比如,历法有所谓“三伏”和“入梅”“出梅”,都和日干支有关。
三伏包括初伏、中伏和末伏,是指夏天最热的一段时间,入梅和出梅是指江南一带梅雨季节的开始和结束,本来是和气候有关的用语。
但因为古代没有准确的天气预报,无法准确预测三伏和入出梅的时间,所以就在历书上硬性规定几个日子作为三伏开始和入出梅的日子,这样确定一个大致的日期以备参考。
现在虽然有了比较准确的天气预报,但三伏和入出梅作为一种传统历法,仍然流传下来。
历法规定夏至之后的第三个庚日为初伏开始,共十天;第四个庚日为中伏开始,十天或二十天;立秋之后的第一个庚日为末伏开始,共十天。
中伏的长度之所以不固定,是因为夏至、立秋的日期和庚日的日期是逐年浮动的,立秋之后的第一个庚日可能是夏至之后的第五个庚日,也可能是第六个庚日。
如果是前者,中伏就只有十天;如果是后者,中伏就长达二十天。
注意如果夏至当天是庚日,夏至之后第一个庚日是指夏至之后第十天,而不是夏至当天,这时初伏第一天就是夏至之后第三十天。
同样,如果立秋当天是庚日,末伏第一天就是立秋之后第十天,而不是立秋当天。
入梅则是指芒种之后的第一个丙日,出梅是指小暑之后的第一个未日,也有同样的规定。
知道了这些,我们可以算一下2004年的初伏、中伏和末伏都是什么日子。
这需要先知道夏至和立秋的日子。
如果知道夏至是6月21日,立秋是8月7日,那么运用公式(8),夏至这天的g为:g = 4 * 20 + [20/4] + 5*4 + [4/4] + [3*(6+1) / 5] + 21 - 3= 80 + 5 + 20 + 1 + 4 + 21 - 3= 128,个位数是8,天干是辛。