日干支计算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
日干支计算法不同于年干支、月干支,它是以阳历历法为基准,因为阳历历法除四年闰二月多出一天之外,其余每年的大小月都是固定不变的,不似阴历历法,其大小月没有规律性可循。阳历大小月各月天数
见下:
大月:1 3 5 7 8 10 12 每月31天
小月:4 6 9 11 每月30天
二月:平年28天闰年29天
日干支的计算公式为:
求日干={元旦天干基数+日数+(或-)月数加减数}÷10=商……余
数
(若闰年,从三月起余数均加一)
求日支={元旦地支基数+日数+(或-)月数加减数}÷12=商……余
数
若闰年,从三月起余数均加一)
一、何为元旦干支基数?
所谓的元旦干支基数,说白了就是阳历历法元旦这一天的日干支的天干、地支的序数。如以2000年而言,其元旦的日干支为戊午,其序数,戊在天干中的序数为第五位,所以其基数为5,午在地支中序数为第七位,所以其基数为7。要计算元旦干支首先要明确本年是平年还是闰年,因为这两者的计算方法不同。平闰年的具体计算方法是这样的:以除以4为基准,凡是能被4整除的都属于闰年,二月加上一天,为二十九天。否者便为平年,二月二十八天。其理论根据是这样的,地球绕
太阳公转一周,需要365天5时48分46秒。由于记年的天数是以整数而算,而小数点则忽略不计,这样每年便多出了5小时48分46秒,这样4年内便多出了23小时15分4秒,接近于1天,故按1天来计算。但这在4年内多算了44分56秒,这样积了400年刚好多出了3天,故必须要减去这3天,以消除这个人为性的误差,至于怎么个减法,阳历历法规定:凡是能被4整除的都属于闰年,但遇到公元世纪整数的闰年,能被400整除的才算是闰年,二月多出1天为29天。如以1600年、1700年、1800年、1900年、2000年这五个公元世纪整数年而言,1600年、2000年能被400整除为闰年,1700年、1800年、1900年不能被400整除,则为平年,这样在这1600年、1700年、1800年、1900年、2000年400年中刚好减去了3天,为1700年平年的1天,1800年平年的1天,1900年平年的1天。防止了这种人为性误差的延伸。关于这种杯400年整除为闰年,不能被400整除的为平年的这种说法古人又称为“每百年停闰,四百年不停闰”学说。平闰年分过之后,再论加5还是加6,关于这加5还是加6如何,可以从“一甲子学说”,由于一干代表一天,一支也代表一天,一甲子共60天,一年(平年)365天除以60刚好6甲子多出5天,所以应加上5。若闰年二月多出了1天为29天,这样一年为366天,除以60,则为6甲子多出6天,所以应加上6。至于怎么加、怎么应用,不妨举例而言。如已2002年的元旦干支为己巳,欲求2003年的元旦干支?其具体计算方法是这样的,已知2003年为平年,应加5,这样2003年元旦干支的天干是在2002年元旦天干序数己(6)的基础上加5,为甲(11,为天干一轮余1,为甲)。其地支亦是2002年元旦地支序数巳(6)的基础上加5,为戌(11,为地支的第11序数,为戌)。合之为甲戌,所以2003年
的元旦干支为甲戌。如再求2004年的元旦干支,已知2004年为闰年但其元旦干支的计算是在二月前,所以其不加6,其方法仍按上述方法类推,天干甲的序数为1,加5为6,序数6在天干为己。地支戌的序数为11,加5为16,为地支一轮余4,序数4在地支为卯。合之为己卯,所以2004年元旦干支为己卯。如在求2005年元旦干支?其计算法就不同于2004年,因为2005年为闰年后的年份,此时2004年闰二月多出一天,所以应加6,其计算为:已知2004年的元旦干支为己卯,天干己的序数为6,加6为(12)一轮余2,序数2在天干为乙。地支卯的序数为4,加6为10,序数10在地支为酉。合之为乙酉,所以2005
年的元旦干支为乙酉。
二、查表法:
此表只适应于1901~2100年。其具体应用是这样的,在这200年中其元旦干支是80年循环一周,如欲求1901~2100年内的元旦干支,只需要用所求之年除以80,所得到的余数,查上表中的年余数,即可查出所求之年的元旦干支。如以2005年为例,2005÷80=25…5由下表可以查出年余数5所对应的干支为乙酉,所以2005年的元旦干支为
乙酉。
具体见表:
1901~2060年元旦干支表
三、公式:(有已知年求未来年)
(1)所求元旦干序=已知年元旦干序+(所求年-已知年)×5+{(所求年-已知年)÷4(取整数商、若不能整除,余数中有闰年后的年份是再加1)}÷60 取整数商,(大于60时用(2)所求元旦支序=已知元旦支序+(所求年-已知年)×5+{(所求年-已知年)÷4(取整数商,若不能整除,余数中有闰年后的年份再加1)}÷60 取整数商,(大于60时用)
例如:已知2000年的元旦干支为戊午,求2005年的元旦干支?
分析:已知2004年的元旦干支是戊午,天干戊的序数为5,地支
午的序数为7,代入上公式得:
(1)所求元旦干序=5+(05-00)×5+{(05-00)÷4+1(因
2005年为2004年闰年之后的年份,所以再1)}÷60=32
2为天干三轮余2,序数2的天干为乙
(2)所求元旦支序=7+(05-00)×5+{(05-00)÷4+1(因2005年为2004年闰年之后的年份,所以再加1)}÷60=34
34为地支两轮余10,序数10的地支为酉。合之为乙酉,所以2005
年的元旦干支为乙酉。
(2)月数加减数:
关于月数加减数的计算公式,亦有以下几种方法,现不妨一一列之
于下。
1、以歌诀的形式:
一五双减一二六加零六三减二加十四减一加五七零九加二
八上一七走十上加二八冬三腊三九闰从三月起余数均加一
2、以列表的形式:
日干支各月加减表
月份1月2月3月4月5月6月7月8月9月10月11月 12月干支干支干支干支干支干支干支干支干支干支干支干支干支
平年减
1
减
1
加
加
6
减
2
加
10
减
1
加
5
减
1
减
1
加
加
6
加
加
加
1
加
7
加
2
加
2
加
2
加
8
加
3
加
3
加
3
加
9
闰年0 0 0 0 从3月份起,余数加1
分析:(1)一五双减一?
即一月和五月的干支减去1个序数,如欲计算时一月和五月应减去
1个地支。
(2)闰从三月起,余数均加一?
即遇闰年由于2月份多出了1天,为29天,所以计算时,从三月
起天干地支均加上一个干支。
既然元旦干支基数、月数加减数,我们都以明了,那么其计算便可
轻而易举了。
例如:求阳历2005年8月1日的日干支?
分析:已知2005年的元旦干支为乙酉,乙的天干序数为2,酉的地支序数为10,月数为八月,查上述月干支加减数表得天干加1,地支
加7
套入公式得:求日干=(2+1+1)÷10=4 序数4在天干为丁求日支=(10+1+7)÷12=6 序数4在地支为巳
合之为丁巳,所以阳历2005年8月1日的日干支为丁巳