干支纪日

更新时间:2024-06-03 10:37

干支纪日法是汉族民间使用天干地支记录日序的方法,是农历的一部分,也是历代历书中的重要组成部分。干支是天干(甲乙丙丁戊己庚辛壬癸)、地支(子丑寅卯辰巳午未申酉戌亥)的合称,它与干支纪年法一样,用干支相匹配的六十甲子来记录日序,从甲子开始到癸亥结束,六十天为一周,循环记录。

来历

古书相传,黄帝时代有位大臣,名叫大挠,此人“深五行之情占年纲所建,于是始作甲乙以名日谓之干;作子丑以名月谓之支,干支相配,以成六旬”,意思是说干支是由大挠最先创作的。实际上,这只是传说。从古代的史实看来,干支和干支纪法的产生也如同“火”的发现一样,是广大劳动者在生产和生活的长期实践中形成并逐步发展起来的,它的产生并不能归功于某一个人,也不能划清于某个时代。从殷墟甲骨片中文字已有干支象形(如图1),殷代帝王也多用天干的名字,作为他的代号,所以殷朝已有干支毫无疑义。

干支纪日从商朝便已开始,但其顺序到春秋时代有无间断或错乱过,尚待考证。截止2013年6月已确切知道:从春秋鲁隐公三年(公元前720年)二月己巳日起到清宣统三年(公元1911年)止,2600多年中从未间断和错乱过。1912年民国元年采用公元纪年后,汉族民间仍沿用干支纪日法,百年来也未错乱。干支纪日法是商朝历法的最大成就,这是现今已知世界最长的纪日法,对于我国历史学,尤其是科学技术发展史的考证和研究,都是极为重要的记时标志,是中国一份珍贵的科学文化遗产

如《肴之战》:“夏四月辛巳,败秦军于肴。’“四月辛巳”指农历四月十三日;《石钟山记》“元丰七年六月丁丑”,即农历六月九日;《登泰山记》“是月丁未”,指这个月的二十八日。古人还单用天干或地支来表示特定的日子。如《礼记·檀弓》“子卯不乐”,“子卯”,代指恶日或忌日。

日柱公式

由于公历与干支纪法的体系和周期完全不同,因此它们之间的换算问题比较复杂。尤其是求解公历任一日的日干支是十分困难的,主要依靠查询万年历解决。有爱好者探究推导出计算公历任一日干支的历法公式,简称《高氏日柱公式》。此公式采用插入世纪常数和月基数的方法,简捷准确而又科学实用,解决了由来已久的历法换算难题。在历法换算的具体问题上具有极大的实践意义。

1.高氏日柱公式

各符号意义

r:日柱的母数,r除以60的余数即是日柱的干支序列数;

s:公元年数后两位数减1,取整数值商;u:s除以4的余数;

m:月基数 d:日期数 x:世纪常数

注意:闰年2月之后,求出的r需要再加1。

2 世纪常数

现将17世纪至26世纪一千年间的世纪常数x,对应列表如下:

1.3 月基数

月基数m,即为前几个月的日数总和除以60的余数。

详见下表:

应用举例

例1:计算1949年10月1日即建国当日的日柱,则有s=49-1=48;u=0;m=33;d=1;x=15,将各项数据代入高氏日柱公式可得:

r=12×6+5×(12×3+0)+33+1+15=301

故301除以60的余数为1,即当日的日柱为甲子

例2:计算2008年5月12日即汶川地震当日的日柱,则有s=8-1=7,u=3,m=0,d=1,x=0,由于2008年为闰年,则2月之后的计算结果需要再加1。将各项数据代入高氏日柱公式可得:

r=1×6+5×(1×3+3)+0+12+0+1=49

故49除以60的余数为49,即当日的日柱为壬子。

例3:计算1895年4月17日即马关条约签订当日的日柱,则有s=95-1=94,u=2,m=30,d=17,x=31,将各项数据代入高氏日柱公式可得:

r=23×6+5×(23×3+2)+30+17+31=571

故571除以60的余数为31,即当日的日柱为甲午。

结论与扩展

高氏日柱公式的成功之处在于:以世纪为运算区间,并引入了世纪常数这一重要的概念。使得日柱的求解在两位数以内进行,极大地简化了求解日柱的过程,实现了编写计算代码的可行性,且能够运用于心算。是日柱求解方法的一大创举和进步。月基数的引入也在很大程度上简化了求解日柱的过程。经过进一步研究,作者发现世纪常数和世纪数之间也存在着对应关系,其关系公式(高氏日柱公式的辅助公式)如下:

C为世纪数,X为世纪常数的母数。取整数值,X除以60的余数即为世纪常数x。

日干支推算表

日干支推算表,又名日柱推算表、一纸万年历。主要用于推算日干支。一张表,能推算出表上各年的每一天的干支,十分快捷。此表由山东任红岩原创。

日柱公式:日干支序数=年数+月数+日期(和大于60,则减60。1月、2月用上一年的年数)

注意:1月和2月的各天要用上一年的年数,即未到3月用上一年数。例如求2015年2月28日干支,未到3月,要用2014年数=7,不可用2015年数。年数适用范围:此年3月-下年2月。

命理师最好将月数表完全背熟,对于盲派命理师,则最好将百年的年数表也背熟,干支表序数也应背熟。

例:求1987年7月18日,1997年1月15日,2008年8月8日,2015年11月21日,2016年10月1日干支

解:查表得知

1987年7月18日=1987年数+7月数+18日=45+2+18=65-60=5=戊辰

2008年8月8日=2008年数+8月数+8日=36+33+8=77-60=17=庚辰

2015年11月21日=2015年数+11月数+21日=12+5+21=38=辛丑

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}