欢迎来到天天文库
浏览记录
ID:14200327
大小:39.50 KB
页数:14页
时间:2018-07-26
《根据公历日期计算当日干支》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、根据公历日期计算当日干支根据公历日期计算当日干支:一、口诀:乘五除四九加日,双月间隔三十天。一二自加整少一,三五七八十尾前。二、举例说明:例一:1996年1月16日(96×5+96÷4+9+16)÷60=8余49,49即为六十甲子序数。9对应天干壬,49除12余1对应地支子,对应干支为“壬子”。例二:1997年2月16日(97×5+97÷4+9+16+30+2)÷60=9余26,26即为六十甲子序数。6对应天干己,26除12余2对应地支丑,对应干支为“己丑”。例三:1998年3月16日(98×5+98÷4+9+16)÷60=8余59,
2、对应干支为“壬戌”。例四:1999年4月16日(99×5+99÷4+9+16+30+1)÷60=9余35,对应干支为“戊戌”。例五:2000年7月16日(100×5+100÷4+9+16+2)÷60=9余12,对应干支为“乙亥”。例六:20001年10月16日(101×5+101÷4+9+16+4+30)÷60=9余49,对应干支为“壬子”。三、注解:第三句中的“整少一”,为能被4整除之年一二月份比其他三年都要少加一;第四句反映的是大月规律,即8月加3、11月加5,依此类推)。 在介绍求年干支和日干支的公式前,先把干支的特点介绍一下。
3、干支是天干和地支的组合。天干有十个,即甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支有十二个,即子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。天干和地支从“甲子”开始,按顺序逐一相配,各用到最后一个时,再从第一个开始继续相配,就形成了六十个干支,也称“六十花甲子”。为什么是六十个干支呢?这个从数学上很容易回答。根据干支的构成条件,其循环周期必然是天干数和地干数的最小公倍数。而60正是10和12的最小公倍数。 如果我们把“甲子”编为1号,“乙丑”编为2号,这样编下去,就可以得到一个干支和序号的对照表,如下:1.甲子2.乙丑3.丙寅4.
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.
5、壬戌60.癸亥 细心观察这张表,不难发现,由序号得到对应干支是很容易的,序号除以10的余数就是天干的序数(如果余数是0,则为最后一个天干癸),序号除以12的余数就是地支的序数(如果余数是0,则为最后一个地支亥)。比如37号干支,因为37mod10=7(mod表示取余数),对应的天干是庚,37mod12=1,对应的地支是子,所以37号干支就是庚子。显然,一个整数除以10的余数就是它的个位数,这就使求天干更方便了。 而由干支推它的序号,也不困难。这其实就是一个同余方程组的求解问题,我们用初等数论中的中国剩余定理就可以解决。比如要算戊午
6、的序号是多少,根据上面由序号得到对应干支的原理,很容易得到如下方程组:{xmod10=5{xmod12=7.其中x是待求的干支序号。根据中国剩余定理,有:x≡6*5-5*7(mod60)=55,即戊午的序号是55.这和上面的对照表的是一致的。一般地,若天干的序号为m,地支的序号为n,则干支的序号为:x≡6m-5n(mod60)(1)简单点说,如果6m-5n的结果是正数,这个数就是干支的序号;如果是负数,把它加上60就是干支的序号。 了解了干支及其序号的相互推算,下面我们先来介绍年干支的求算。需要说明的是,干支纪年纪的是农历年,而不是
7、公历年。但因为农历年的岁首和公历年的岁首相隔较近,使农历年总是和某一公历年的大部分重合,因此,通常也用公历年的年份表示和它大部分重合的农历年。这样我们就很容易给出农历年的干支序号为:x=(Y-3)mod60,(2)其中Y是年份。得到了干支序号x,就可以求出相应的干支来。比如2004年的干支序号:x=(2004-3)mod60=2001mod60=21,21mod10=1,天干为甲,21mod12=9,地支为申,因此,2004年是甲申年。 细心观察,我们可以发现,其实用Y-3直接除以10,就可以得到天干,用Y-3直接除以12,就可以得
8、到地支。这是因为x=(Y-3)mod60等价于Y-3=60*n+x,其中n是Y-3除以60的商数。等式两边同时除以10,余数也必然相等。而右边第一项是60的倍数,自然也是10的倍数,能够被10整数,于是Y-3除以10的余
此文档下载收益归作者所有