-
干支纪日 编辑
干支纪日法是汉族民间使用天干地支记录日序的方法,是农历的一部分,也是历代历书中的重要组成部分。干支是天干(甲乙丙丁戊己庚辛壬癸)、地支(子丑寅卯辰巳午未申酉戌亥)的合称,它与干支纪年法一样,用干支相匹配的六十甲子来记录日序,从甲子开始到癸亥结束,六十天为一周,循环记录。
古代汉族人民将干支相配的六十个单位,每个单位代表一天,假如某日为甲子日,则甲子以后的日子依次顺推为乙丑、丙寅、丁卯等; 甲子以前的日子依次逆推为癸亥、壬戌、辛酉等。
图1 刻有干支的殷朝牛骨
干支纪日从商朝便已开始,但其顺序到春秋时代有无间断或错乱过,尚待考证。截止2013年6月已确切知道:从春秋鲁隐公三年(公元前720年)二月己巳日起到清宣统三年(公元1911年)止,2600多年中从未间断和错乱过。1912年民国元年采用公元纪年后,汉族民间仍沿用干支纪日法,百年来也未错乱。干支纪日法是商朝历法的最大成就,这是现今已知世界最长的纪日法,对于我国历史学,尤其是科学技术发展史的考证和研究,都是极为重要的记时标志,是中国一份珍贵的科学文化遗产。
如《肴之战》:“夏四月辛巳,败秦军于肴。’“四月辛巳”指农历四月十三日;《石钟山记》“元丰七年六月丁丑”,即农历六月九日;《登泰山记》“是月丁未”,指这个月的二十八日。古人还单用天干或地支来表示特定的日子。如《礼记·檀弓》“子卯不乐”,“子卯”,代指恶日或忌日。
由于公历与干支纪法的体系和周期完全不同,因此它们之间的换算问题比较复杂。尤其是求解公历任一日的日干支是十分困难的,主要依靠查询万年历解决。有爱好者探究推导出计算公历任一日干支的历法公式,简称《高氏日柱公式》。此公式采用插入世纪常数和月基数的方法,简捷准确而又科学实用,解决了由来已久的历法换算难题。在历法换算的具体问题上具有极大的实践意义。
1.高氏日柱公式
各符号意义
r:日柱的母数,r除以60的余数即是日柱的干支序列数;
s:公元年数后两位数减1,
m:月基数%20d:日期数%20x:世纪常数
注意:闰年2月之后,求出的r需要再加1。
2%20世纪常数
现将17世纪至26世纪一千年间的世纪常数x,对应列表如下:
世纪数N | 17 | 18 | 19 | 20 | 21 |
年限 | 1601-1700 | 1701-1800 | 1801-1900 | 1901-2000 | 2001-2100 |
世纪常数x | 3 | 47 | 31 | 15 | 0 |
世纪数N | 22 | 23 | 24 | 25 | 26 |
年限 | 2101-2200 | 2201-2300 | 2301-2400 | 2401-2500 | 2501-2600 |
世纪常数x | 44 | 28 | 12 | 57 | 41 |
1.3%20月基数
月基数m,即为前几个月的日数总和除以60的余数。
详见下表:
月份 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
月基数 | 0 | 31 | -1 | 30 | 0 | 31 | 1 | 32 | 3 | 33 | 4 | 34 |
应用举例
例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为世纪常数的母数。
日干支推算表
年 | 数 | 年 | 数 | 年 | 数 | 年 | 数 | 年 | 数 |
---|---|---|---|---|---|---|---|---|---|
1950 | 31 | 1960 | 24 | 1970 | 16 | 1980 | 9 | 1990 | 1 |
1951 | 36 | 1961 | 29 | 1971 | 21 | 1981 | 14 | 1991 | 6 |
1952 | 42 | 1962 | 34 | 1972 | 27 | 1982 | 19 | 1992 | 12 |
1953 | 47 | 1963 | 39 | 1973 | 32 | 1983 | 24 | 1993 | 17 |
1954 | 52 | 1964 | 45 | 1974 | 37 | 1984 | 30 | 1994 | 22 |
1955 | 57 | 1965 | 50 | 1975 | 42 | 1985 | 35 | 1995 | 27 |
1956 | 3 | 1966 | 55 | 1976 | 48 | 1986 | 40 | 1996 | 33 |
1957 | 8 | 1967 | 0 | 1977 | 53 | 1987 | 45 | 1997 | 38 |
1958 | 13 | 1968 | 6 | 1978 | 58 | 1988 | 51 | 1998 | 43 |
1959 | 18 | 1969 | 11 | 1979 | 3 | 1989 | 56 | 1999 | 48 |
年 | 数 | 年 | 数 | 年 | 数 | 年 | 数 | 年 | 数 |
---|---|---|---|---|---|---|---|---|---|
2000 | 54 | 2010 | 46 | 2020 | 39 | 2030 | 31 | 2040 | 24 |
2001 | 59 | 2011 | 51 | 2021 | 44 | 2031 | 36 | 2041 | 29 |
2002 | 4 | 2012 | 57 | 2022 | 49 | 2032 | 42 | 2042 | 34 |
2003 | 9 | 2013 | 2 | 2023 | 54 | 2033 | 47 | 2043 | 39 |
2004 | 15 | 2014 | 7 | 2024 | 0 | 2034 | 52 | 2044 | 45 |
2005 | 20 | 2015 | 12 | 2025 | 5 | 2035 | 57 | 2045 | 50 |
2006 | 25 | 2016 | 18 | 2026 | 10 | 2036 | 3 | 2046 | 55 |
2007 | 30 | 2017 | 23 | 2027 | 15 | 2037 | 8 | 2047 | 0 |
2008 | 36 | 2018 | 28 | 2028 | 21 | 2038 | 13 | 2048 | 6 |
2009 | 41 | 2019 | 33 | 2029 | 26 | 2039 | 18 | 2049 | 11 |
1月(用上一年数) | 6 | 7月 | 2 |
2月(用上一年数) | 37 | 8月 | 33 |
3月 | 0 | 9月 | 4 |
4月 | 31 | 10月 | 34 |
5月 | 1 | 11月 | 5 |
6月 | 32 | 12月 | 35 |
日柱公式:日干支序数=年数+月数+日期(和大于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=辛丑
1、本站所有文本、信息、视频文件等,仅代表本站观点或作者本人观点,请网友谨慎参考使用。
2、本站信息均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
3、对任何由于使用本站内容而引起的诉讼、纠纷,本站不承担任何责任。
4、如有侵犯你版权的,请来信(邮箱:baike52199@gmail.com)指出,核实后,本站将立即删除。