按照公历日期计算当日干支
干支换算方法[干支纪年与公历纪年的换算方法]
干支换算方法[干支纪年与公历纪年的换算方法]日干支的求算仿照星期的求算,得到一个比较直观的计算日干支的公式如下: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是日数。
不用万年历,速推日干支口诀4种方法
流星赶月排日柱口诀1推算日干支,可以按公历和农历两种方法推算。
⑴农历日干支推算口诀:大小月卦记心间,正一干支起根源。
大后干同地支冲,小后干支退一天。
初一十三二十五,支同隔干一位算。
推算方法:“大小月卦记心间,正一干支起根源。
”农历的大月为30天小月为29天,固定不变。
要推农历曰干支,先要按《农历大小月卦口诀》将推算之年编上两卦,以便在推算日千支时运。
除此之外,还要记住农历正月初一日的干支,因为它是推算一年逐日的基础。
“大后干同地支冲,小后干支退一天。
”农历天干与地支组合,天干循环2.5次。
根据这一规律,知道某月初一日干支,如果这个月是小月则应在干同支冲的情况下,干支各减一位,则是小月后下月初一日干支。
如本月初一干支为己卯,这个月是大月,下月初一干支为己酉。
如果这个月是小月,则下月初一干支应在己酉退一位后确定,即为戊申日。
“初一十三二十五,支同干隔一位算。
”此两句是在确定某月初一干支后,将这个月分成三个阶段,即初一至十二,十三至二十四二十五以后。
初一、十三、二十五日在干支上也是有规律的。
知道初一干支,只要将该日天干隔一位顺推,而地支不变。
同理,知道十三日干支,支同干隔一位,也知道二十五日的干支。
如初一日干支为甲子,则十三日干支为丙子,二十五日干支为戊子。
掌握这个方法,就可以根据所推之日属于哪一段,便可以很快知道这天的干支了。
⑵公历日干支推算口诀:元旦干支为根源,大小二月记心间。
小月干同地支冲,大月上句加一天。
申子辰年年为闰,干同支冲退一天。
余年二月二十八,干同支冲退一天。
月首十三二十五,支同隔干一位算。
推算方法:“元旦干支为根源,大小二月记心间。
”推算公历日干支,首先要记住元旦曰的干支。
同时,还要知道大小月及二月的天数。
公历大月为31天,小月为30天,其大小月是固定不变的,唯独二月有29天和28天之分。
因此,要特别注意哪年二月为29天,那年二月为28天。
“小月干同地支冲,大月上句加一天。
”公历小月为30天,按农历大月推算口诀,我们知道本月初一日干支,与下月初一干支则是天干相同地支相冲。
推算日干支的多种方法
推算日干支,有按公历和农历两种方法推算黄远珦2018年8月2日一、农历日干支推算口诀:(方法一)大小月卦记心间,正一干支起根源。
大后干同地支冲,小后干支退一天。
初一十三二十五,支同隔干一位算。
意解:“大小月卦记心间,正一干支起根源。
”农历的大月为30天小月为29天,固定不变。
要推农历日干支,先要按《农历大小月卦口诀》将推算之年编上两卦,以便在推算日干支时运用。
除此之外,还必须要记住农历正月初一日的干支,因为它是推算一年逐日的基础。
“大后干同地支冲,小后干支退一天。
”大月初一的干支与后一个月初一的干支天干相同,地支相冲。
小月初一的干支与后一个月初一的干支天干相同地支相冲之日再后退一天。
如本月是大月,初一干支为己卯,下月的初一干支就是己酉。
如果这个月是小月,则下月初一干支应在己酉后退一位后确定,即为戊申日。
“初一十三二十五,支同干隔一位算。
”此两句是在确定某月初一干支后,将这个月分成三个阶段,即初一至十二,十三至二十四,二十五以后。
初一、十三、二十五日在干支上也是有规律的。
知道初一干支,只要将该日天干隔一位顺推,而地支不变。
同理,知道十三日干支,支同干隔一位,也知道二十五日的干支。
如初一日干支为甲子,则十三日干支为丙子,二十五日干支为戊子。
掌握这个方法,就可以根据所推之日属于哪一段,便可以很快知道这天的干支了。
例如:(一)推算1998年农历6月初10日午时的干支。
1、先按《农历大小月卦口诀》,将1998年农历大小月,排上两卦,并标出闰月。
同时,要记住正月初一日的干支。
2、推算1998年的干支。
我们按《推算年干支口诀》在手掌上将地支子位定为甲子,为1984年。
并将大拇指按在地支子位上,按“隔位逆推十年正”,把大拇指放在戌位上,即94年为甲戌年。
从甲戌94年开始顺推,94年为甲戌,95年为乙亥,96为丙子,97年为丁丑,98年干支则为戊寅。
3、推算农历6月份干支。
确定1998年戊寅干支以后,按《定月时干支诀》,戊干与癸干合以戊为主,戊的序数为5,将大拇指固定在戊位上。
“公历推日柱”原理解密
“公历推日柱”原理解密天门市彭市中学柯宗华所谓“公历推日柱”就是利用公历的年月日期推算出当年当月当日的日干支的一种方法。
“乘五除四九加日,双月间隔三十天。
一二自加整少一,三五七八十尾前。
”这几句口诀就是目前盲师中流传的“公历推日柱”的具体计算方法的真实写照。
咋一看这几句口诀给人一头雾水,这是怎么推算的。
原来这正是“公历推日柱”发明者高明之处。
这几句虽然琳琅上口,工整对仗容易记住,但是却给人披上了操作计算的神秘面纱。
也就是说口诀记住了,不告诉你操作的流程你依然是一筹莫展,望洋兴叹。
如果你理解了其中的精髓,那操作起来就非常简单了。
下面我就对这几句口诀进行适当地解释。
“公历推日柱”法适合计算大于1900年(含1900年)所有年月日的日干支。
乘五除四九加日的意思就是:年数减1900记为差,差乘以五的积与差除以四的商(有余数商取正整数)的和,加上九与当日的日期数;“双月间隔三十天”其意思就是如果推算的这个月是双月,前面计算的和还要加上三十;“一二自加整少一,三五七八十尾前”这主要是记录十二个月中有大月和小月以及闰年带来一年内天数的变化而赋予的调节数的配置。
因为前面的那个和数的计算都是以每月30天计算的,而事实上每月的天数不一定相等(30天),如果本月前的一个月为31天,这个月的调节数就要在上个月调节数的基础上加1,如果本月前一个月为29天,那这个月的调节数就要在上个月的调节数上减1等等。
对于一月份,因为前一年的十二月为大月,所以这月的调节数为1,同样二月份的调节数应在一月份的基础上加1,应为2,同理依次可推得3至12月份的调节数依次为0,1,1,2,2,3,4,4,5,5;“整少一”表示差除以4为整数(这一年为闰年)时调节数少1,“一二自加整少一”意思就是一、二月份的调节数比其他三年都要少加一,即一、二月份的调节数依次变为0,1,其它月份调节数不变。
值得注意的是1900年这一年所得的差数除以4虽然为整数,但它同时除以100亦为整数,故这一年不是闰年,所以不要搞错了;口诀中只是提到了计算几个数的和,怎样利用这个和来求日柱口诀没有提及,如果你的悟性好的话,你就知道这个和数的意义,自然就会求日柱了,如果你不知道这个和数的意义,也不要急,你只要求出这个和数与60相除所得的余数即可求出日干支(这就是发明者的高明之处,正确理解了口诀的真正含义,自然会求日干支,不清楚其含义你只要机械地求出和数,告诉你如何求出余数即可求出日干支,并且这是任何人都可以做到的事情。
推算公历日期干支的几种方法
推算公历日期干支的几种方法A、掌法的先决条件1必须知道每年的元旦干支是什么;2.以掌握地支定好元旦位(叫本位);3.从本位起元月,对宫为2月,再回本位起3月,反复起到所求的月份,那么这个位置就是该月的1号干支;4、逢一个大月,要向前移动1位,二个大月要向前移动2位……,有多少个大月就要向前移动多少位。
逢小月不用移动,唯有2月份特殊,28日要向后移动2位,是29日要向后移动1位。
5.求得所求月份的1号干支后,就可以很快推出该月的每一日干支了。
例如:查1999年5月4 日的于支:(1)先查出1999年的元旦是癸丑日(这日要牢记在心,以后就不用查了)。
(2)把左手掌中指根下“丑”位定为元旦的癸丑起1月,无名指端为癸未起2月,3月又轮回中指根癸丑,4月又到无名指端为癸未,5月又轮回中指根癸丑。
那么癸丑暂定为5月1号干支,但中间经1、3两个大月,1个特殊2月,互相拉平抵消后为平衡,无需向前或向后移位,故癸丑为5月1日的实际干支。
再从1日向前顺数到4日即是丙辰日。
(3)如再要推5月Z1日的干支,只须从癸丑向后隔一位为11日癸亥日,再向后隔一位为21日即癸酉日。
例如:推2000年3月12日的干支,(1)先求出2000年的元旦干支。
从地支掌丑位起99年元旦为癸丑,然后从下一位顺数5位到中指端为戊午,这戊午就是2000年的元旦干支(如经过闰年就顺数6位)。
(2)按上法元月戊午、2月戊子、3月戊午中间经1个大月和一个特殊2月(29)天,互相扯平无需移位,那么戊午就是3月1号的干支,退后隔一位是戊辰为3月11日的干支,再向前顺数一位是己巳日,这己巳就是3月12日的干支。
按照这个方法只要记住一年的元旦干支(只要背熟“干支节气金钳诀”就行了^-^),很快就能推算出前后几年的任何一日的干支。
B、心算纪日干支法要按公历心算任意一天的纪日干支,只需将公历年号乘以5,加公历年号除以4、加上9、加上日期,再加已经过去了几个大月,得数便是干支序号。
阳历转干支历计算公式
将公历转换为干支历需要用到天文学知识和数学计算。
公历的日期可以转换为儒略日,然后根据干支历的起算年代(一般采用公元元年)来计算干支历的日期。
具体的计算公式如下:
1. 将公历日期转换为儒略日:儒略日= 公历日期+ 公元前元年儒略日(一般取公元前45年1月1日为儒略日0点)
2. 根据干支历的起算年代计算干支历的起始儒略日:干支历起始儒略日= 公元元年儒略日+ 干支历起算日期
3. 计算干支历的日期:干支历日期= (儒略日- 干支历起始儒略日) / 365.25 + 干支历起始日期
其中,干支历的起始一般采用春节的日期,即每年的农历正月初一。
需要注意的是,公历和干支历之间的转换涉及到闰年的处理和干支历的起算年代,因此计算时需要仔细核对。
此外,由于地球绕太阳公转的轨道不是严格的圆形,因此日历年与儒略年之间存在差异,需要进行适当的调整。
阳历转换成日干支的口诀
阳历转换成日干支的口诀
和大家分享一个阳历转换成干支的口诀:
一五都减一(阳历一月和五月天干地支都减一)
二六加零六(二月和六月天干加零,地支加六)
三减二加十(三月份天干减二地支加十)
四减一加五(四月天干减一,地支加五)
七零九加二(七月干支都不加,九月干支都加二)
八加一七走(八月天干加一,地支加七)
十上加二八(十月天干加二,地支加八)
冬三腊三九(冬月干支都加三,腊月天干加三地支加九)
闰从三月起(逢每年阳历二月有29号的,最后天干地支都要
余数均加一再加一)
用法:首先知道每年的元旦干支,以甲为1,乙为2 丙为3依次类推,地支子为1 ,丑为2依次类推,如2008年1月1号的元旦干支是“庚子”,庚为7,子为1。
2008年3月15日,首先15+(天干庚是7)=22,再套上口诀是三减二加十(即3月份天干减二,地支加十)=20,天干20是最后一位为“癸”所以是癸,但是2008年2月是闰月(即平常每年都是阳历2月是28天,三年一次是29天)所以闰从三月起,余数均加一)所以加一就是“甲”了。
地支15+(元旦日支庚子,子是1)=16,再套上口诀“三减二加十”地支是加十=26,26要扣掉两个12(即从子数到亥两次)=2,再加上闰月1就是3,子1,丑2,3是寅,2008年3月15号的日干支就是甲寅了。
这种方法看起来很繁琐,其实用熟了几秒钟就能迅速算出当日的干支。
还可以用来验证传统万年历的准确性,我曾经买过一本错的,后来用这个方法验证出来了。
当然如果你记得住几十年的元旦干支也可以用这个方法推算出来当日。
根据公历日期计算当日干支
一、口诀:乘五除四九加日,双月间隔三十天.一二自加整少一,三五七八十尾前.二、举例说明:例一:年月日(×+÷++)÷=余,即为六十甲子序数.对应天干壬,除余对应地支子,对应干支为“壬子”. 资料个人收集整理,勿做商业用途例二:年月日(×+÷++++)÷=余,即为六十甲子序数.对应天干己,除余对应地支丑,对应干支为“己丑”. 资料个人收集整理,勿做商业用途例三:年月日(×+÷++)÷=余,对应干支为“壬戌”.例四:年月日(×+÷++++)÷=余,对应干支为“戊戌”.例五:年月日(×+÷+++)÷=余,对应干支为“乙亥”.例六:年月日(×+÷++++)÷=余,对应干支为“壬子”.三、注解:第三句中地“整少一”,为能被整除之年一二月份比其他三年都要少加一;第四句反映地是大月规律,即月加、月加,依此类推).资料个人收集整理,勿做商业用途在介绍求年干支和日干支地公式前,先把干支地特点介绍一下.干支是天干和地支地组合.天干有十个,即甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支有十二个,即子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥.天干和地支从“甲子”开始,按顺序逐一相配,各用到最后一个时,再从第一个开始继续相配,就形成了六十个干支,也称“六十花甲子”.为什么是六十个干支呢?这个从数学上很容易回答.根据干支地构成条件,其循环周期必然是天干数和地干数地最小公倍数.而正是和地最小公倍数. 资料个人收集整理,勿做商业用途如果我们把“甲子”编为号,“乙丑”编为号,这样编下去,就可以得到一个干支和序号地对照表,如下:.甲子.乙丑.丙寅.丁卯.戊辰.己巳.庚午.辛未.壬申.癸酉资料个人收集整理,勿做商业用途.甲戌.乙亥.丙子.丁丑 .戊寅.己卯.庚辰.辛巳.壬午.癸未资料个人收集整理,勿做商业用途.甲申.乙酉.丙戌.丁亥 .戊子.己丑.庚寅.辛卯.壬辰.癸巳资料个人收集整理,勿做商业用途.甲午.乙未.丙申.丁酉 .戊戌.己亥.庚子.辛丑.壬寅.癸卯资料个人收集整理,勿做商业用途.甲辰.乙巳.丙午.丁未 .戊申.己酉.庚戌.辛亥.壬子.癸丑资料个人收集整理,勿做商业用途.甲寅.乙卯.丙辰.丁巳 .戊午.己未.庚申.辛酉.壬戌.癸亥资料个人收集整理,勿做商业用途细心观察这张表,不难发现,由序号得到对应干支是很容易地,序号除以地余数就是天干地序数(如果余数是,则为最后一个天干癸),序号除以地余数就是地支地序数(如果余数是,则为最后一个地支亥).比如号干支,因为(表示取余数),对应地天干是庚,,对应地地支是子,所以号干支就是庚子.显然,一个整数除以地余数就是它地个位数,这就使求天干更方便了. 资料个人收集整理,勿做商业用途而由干支推它地序号,也不困难.这其实就是一个同余方程组地求解问题,我们用初等数论中地中国剩余定理就可以解决.比如要算戊午地序号是多少,根据上面由序号得到对应干支地原理,很容易得到如下方程组:资料个人收集整理,勿做商业用途{{ .其中是待求地干支序号.根据中国剩余定理,有:≡ * * ( ) ,即戊午地序号是.这和上面地对照表地是一致地.一般地,若天干地序号为,地支地序号为,则干支地序号为:资料个人收集整理,勿做商业用途≡ ( ) ()简单点说,如果地结果是正数,这个数就是干支地序号;如果是负数,把它加上就是干支地序号. 了解了干支及其序号地相互推算,下面我们先来介绍年干支地求算.需要说明地是,干支纪年纪地是农历年,而不是公历年.但因为农历年地岁首和公历年地岁首相隔较近,使农历年总是和某一公历年地大部分重合,因此,通常也用公历年地年份表示和它大部分重合地农历年.这样我们就很容易给出农历年地干支序号为:资料个人收集整理,勿做商业用途() ,()其中是年份.得到了干支序号,就可以求出相应地干支来.比如年地干支序号:() ,,天干为甲,,地支为申,因此,年是甲申年.细心观察,我们可以发现,其实用直接除以,就可以得到天干,用直接除以,就可以得到地支.这是因为资料个人收集整理,勿做商业用途()等价于* ,其中是除以地商数.等式两边同时除以,余数也必然相等.而右边第一项是地倍数,自然也是地倍数,能够被整数,于是除以地余数就必然等于除以地余数. 资料个人收集整理,勿做商业用途因此,其实我们完全用不着先求干支地序号,而可以分别求天干和地支,合起来就是干支,这样就减少了一步运算.而对于年份地天干,同样只须看末尾一位.末尾为地年份地天干总是甲,末尾为地年份地天干总是乙……依次类推. 资料个人收集整理,勿做商业用途再来看日干支地求算.我们可以仿照星期地求算,得到一个比较直观地计算日干支地公式如下:()* [()] [()] [()] ,() 资料个人收集整理,勿做商业用途其中是年份,是累积天数,[...]表示取商数,也就是只取计算结果地整数部分.把除以,余数就是干支地序号.或者把除以或,可以直接得到日天干和日地支.不过,和形式相似地求星期地公式一样,这个公式还不够简炼,特别是第一项()*,在为四位数年份时,计算出来地结果是一个较大地四位数或五位数,口算很不方便. 资料个人收集整理,勿做商业用途我们用推导蔡勒公式地办法,可以改进这个公式.先来看和年份有关地部分地改进.我们知道,按公历地置闰规则,一个世纪地总天数可能是天,或天.如果这个世纪中末尾为地年份是闰年,这个世纪就只有天;否则就只有天.我们不妨称有天地世纪为“平世纪”,有天地世纪为“闰世纪”.对于平世纪,因为资料个人收集整理,勿做商业用途,所以,每过一个平世纪,同一天地干支就向后推进个序号.同样,每过一个闰世纪,同一天地干支就向后推进个序号.这就使我们很容易得到一个计算每个世纪第一年(年份末尾为)月日地公式:资料个人收集整理,勿做商业用途[] ,()其中是世纪数减一.而计算任一年月日地干支地公式也可以很快得到:[] () [] ,即[] [] ,()其中是年份后两位数字.下面我们再列出每月天数:月份:月月月月月月月月月月月月资料个人收集整理,勿做商业用途天数:() 资料个人收集整理,勿做商业用途减后地剩余天数:()如果把月和月看成是上一年地月和月,同样可以得到下面地式子:’ ≡ [*() ] ( ) ()及’ ≡ [*() ] ( ) (奇数月,偶数月),() 资料个人收集整理,勿做商业用途其中,’是从月日开始算起地累积天数,是月份,是日数.把()()两式和()式合起来,再进行适当地化简,就得到了计算公历任意一天地天干和地支地公式:资料个人收集整理,勿做商业用途[] [] [*() ] ;() 资料个人收集整理,勿做商业用途[] [] [*() ] (奇数月,偶数月) 资料个人收集整理,勿做商业用途()如果先求得了,那么(奇数月,偶数月).()地个位数就是天干序号,除以地余数就是地支序号.这里需要再次强调:月和月是当做上一年地月和月来算地,因此和也要按上一年地年份来取值. 资料个人收集整理,勿做商业用途我们可以把()()两式和蔡勒公式对比一下:[] [] [*() ] ,资料个人收集整理,勿做商业用途可以看出它们地形式非常相似,区别仅仅是几个常数地不同.尽管现在中国已经不用干支纪日了,但有时还是需要计算日干支地.比如,历法有所谓“三伏”和“入梅”“出梅”,都和日干支有关.三伏包括初伏、中伏和末伏,是指夏天最热地一段时间,入梅和出梅是指江南一带梅雨季节地开始和结束,本来是和气候有关地用语.但因为古代没有准确地天气预报,无法准确预测三伏和入出梅地时间,所以就在历书上硬性规定几个日子作为三伏开始和入出梅地日子,这样确定一个大致地日期以备参考.现在虽然有了比较准确地天气预报,但三伏和入出梅作为一种传统历法,仍然流传下来. 资料个人收集整理,勿做商业用途历法规定夏至之后地第三个庚日为初伏开始,共十天;第四个庚日为中伏开始,十天或二十天;立秋之后地第一个庚日为末伏开始,共十天.中伏地长度之所以不固定,是因为夏至、立秋地日期和庚日地日期是逐年浮动地,立秋之后地第一个庚日可能是夏至之后地第五个庚日,也可能是第六个庚日.如果是前者,中伏就只有十天;如果是后者,中伏就长达二十天.注意如果夏至当天是庚日,夏至之后第一个庚日是指夏至之后第十天,而不是夏至当天,这时初伏第一天就是夏至之后第三十天.同样,如果立秋当天是庚日,末伏第一天就是立秋之后第十天,而不是立秋当天.入梅则是指芒种之后地第一个丙日,出梅是指小暑之后地第一个未日,也有同样地规定. 资料个人收集整理,勿做商业用途知道了这些,我们可以算一下年地初伏、中伏和末伏都是什么日子.这需要先知道夏至和立秋地日子.如果知道夏至是月日,立秋是月日,那么运用公式(),夏至这天地为:资料个人收集整理,勿做商业用途* [] * [] [*() ] 资料个人收集整理,勿做商业用途,个位数是,天干是辛.夏至之后第三个庚日就是夏至之后第天,也就是月日,这天也就是初伏第一天.中伏第一天则是月日.同样可算出立秋这天地为:资料个人收集整理,勿做商业用途* [] * [] [*() ] 资料个人收集整理,勿做商业用途,是个戊日.立秋之后第一个庚日就是立秋之后第天,也即月日,这天就是末伏第一天.由此也可知,年地中伏只有十天.同样可以由芒种和小暑两节气地日期,算出年地入梅日和出梅日分别是月日和月日. 资料个人收集整理,勿做商业用途反过来,知道了年干支和日干支,求相应地年份和日期就相对麻烦一点了.因为干支是循环使用地,所以必须先知道欲求对应年份和日期地干支是属于哪一次循环.比如我们预先用公式()算出来、、年都是甲子年,如果要知道戊戌变法是哪一年,首先要确定它是十九世纪末地事情,也即是属于年开始地这一个循环里.那么,我们用公式()可以算出来戊戌地序号是,于是戊戌年就是()年.之所以要先减一,是因为甲子地序号为,需要把这个序号先减去. 资料个人收集整理,勿做商业用途至于日干支,因为古书里地日干支总是和年、月配合使用地,所以不难确定它属于哪个循环.比如《明史·庄烈帝本纪》记载明崇祯皇帝朱由检在煤山自缢地日子是崇祯十六年三月丁未.崇祯十六年就是公元年.三月虽然是农历地三月,但我们知道农历地日期在公历里虽然是浮动地,但也不出一定地范围,比如农历三月初一,总是在公历月日到月日之间浮动.因此,先来算年月日地干支.我们有:资料个人收集整理,勿做商业用途* [] * [] [*() ] 资料个人收集整理,勿做商业用途,个位数是,,除以余,所以这一天地干支是癸酉,其序号为**.而丁未地序号是**,在癸未之后天,因此三月丁未肯定是月日之后天,即月日.这就是说,崇祯自缢地日子是年月日,这和查万年历地结果是一致地.资料个人收集整理,勿做商业用途。
公历年月日时计算干支的方法
公历年月日时计算干支的方法大家都知道,天干地支是中国传统的时间计时法,首先我们要确定:十天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸对应的代号: 1. 2. 3. 4. 5. 6. 7. 8. 9.10,十二地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥对应代号为 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.11.12,下面分别是计算任意年月日时干支的最简便的方法,请大家验证使用,如有不对的地方,敬请同道讨论指正.一、年干支计算法:用年数减去3所得数字的尾数,对应的天干代号就是该年的年干。
用这个差数除以12所得余数对应的地支代号就是这一年的地支。
例如:2021年,2021-3=2018,因此今年的年干就是8(辛)。
2018÷12余数为2(丑),因此,今年的年支就是丑。
所以2021年就是辛丑年。
二、月干支计算法:知道年干后,月干的计算方法很简单:月干=年干代数x2+月数。
对应的代号就是该月月干。
超过10时,去掉10的倍数用其余数。
月支是以正月起寅,依次类推……例如:2021/3/30日,年干为辛(8)8×2+3=19-10=9(壬)月干为壬,月支2月为卯故为壬卯月。
三、日干支计算法:用公历年月日计算任何一天的日干支公式:(年-1)×5+(年-1)÷4+当年天数÷60取余数(y)当年天数(1月+2月+3月+最后哪个月的天数)比如2021年3月5日(31+28+5)2021年4月8日(31+28+31+8)余数(y)÷10的余数即是天干序数。
余数(y)÷12的余数即是地支序数。
如:2021/3/30 ((2021-1)×5+(2021-1)÷4+31+28+30)÷60余数为14。
所以天干为4(丁)14÷12余数为2(丑)故此日为丁丑日。
阳历推算日干支口诀
阳历推算日干支口诀速算法阳历日干速算法有一个前提,就是首先要知道所推算那一年的元旦(1月1日)的干支(漫长的一年单记住这天的干支还不能算难吧)。
知道元旦日的干支后,就可以推出一年中逐月第一天的干支。
既知第一天的干支那么此月中其余各天的干支就能够很容易照推出来了。
口诀分平年和闰年两种:平年:元旦同五元下七七隔九月九下冬元上三月元冲四四下二六六下八八下十月十下腊此是平年推算法按歌诀“元旦同五元下七”,意思是平年元月1日的干支和5月1日的干支是相同的。
元旦下一个干支(即1月2日),与7月1日的干支相同。
“七隔九月九下冬”,7月1日的隔一位干支(即7月3日)与9月1日的干支相同,而9月1日的下一位(即9月2日)与冬月(不是农历的冬月,而是阳历的11月1日)相同。
“元上三月元冲四”,就是说元旦日的上一位(即12月31日)的干支与3月1日的干支是相同的。
与元旦日相冲(天干相同,地支相冲)的即是4月1日的干支。
例如1999年元旦日为癸丑,那么4月1日即是癸未。
“四下二六六下八”,意为4月1日的干支的下一位(即4月2日),分别是2月1日和6月1日的干支。
6月1日的下一位(即6月2日),又是8月1日的干支。
“八下十月十下腊”,8月1日的下一位(8月2日),日10月1日的干支,10月1日的下一位10月2日,即是腊月(指阳历的12月1日)的干支。
闰年:闰三下五五下七七隔九月九下冬五月支冲为二四四下六八十腊顺此口诀适用于推算闰年。
比如今年,1996等。
第一句话意思是闰年1月1日的干支和3月1日相同。
1月2日和5月1日相同。
5月2日与7月1日相同。
第二句话意思是7月1日的隔一位,即7月3日,与9月1日是相同的,而紧接着9月2日的干支也就是11月1日的干支。
第三句话,意为与5月1日天同地冲的肯定是2月1日和4月1日的干支。
如2000年5月1日为己未,那么2月1日和4月1日必定都是己丑。
最后一句话有意思,是说4月2日即为6月1日的干支,6月2日又是8月1日的干支,而8月2日又是10月1日的干支,10月2日又是12月1日的干支。
干支计算方法
干支计算方法主要是通过一定的数学公式和规则来确定特定年份、月份或日子对应的天干地支。
具体如下:
1. 年份的干支计算:可以通过公式(当年年数-3)÷60,其余数为所求年干支的代数,再到六十环周图中找出相应的干支。
这个公式适用于公元4年之后的年份计算,因为公元4年是甲子年。
2. 月份的干支计算:正月的天干计算方法与年份的天干有关。
例如,遇上甲或己的年,正月是丙寅;遇上乙或庚之年,正月为戊寅;以此类推。
确定了正月的干支后,其余月份可以按照干支顺序推算。
3. 日子的干支计算:日的天干计算公式为(当年元旦的天干数+所求日数+各月天干加减常数)/10(结果取余数),地支的计算公式为(当年元旦的地支数+所求日数+各月地支加减常数)/12(结果取余数)。
此外,天干有十个,分别是甲、乙、丙、丁、戊、己、庚、辛、壬、癸。
地支有十二个,分别是子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。
总的来说,这些计算方法在历史学、命理学等领域有着重要的应用。
在实际操作中,可能需要参考具体的历法书籍或使用专门的软件工具来进行准确的计算。
快速推算日干支的公式方法
快速推算日干支的公式方法展开全文推算日干支的快速公式之一此法系易学家王吉厚所介绍,其具体的内容有以下两种方法。
(1)用公历推算日干支的快速公式。
干支序数一年代计算基数+年份尾数×5+闰年数+求算日数一60倍数记忆口诀:基数加上尾乘五,闰年月指加日数,双月再加三十天,超过六十减六十。
具体分析:①基数加上尾乘五。
基数即是年代基数,从1900年开始,十年为一年代基数,到1970年共80年,8个基数(因公历,80年一循环)因此,1900年与1980年的年尾乘五,即是推算具体年份的尾数乘5,如1903年,基数1900年9,加上尾5,即是年份的1903年的数再乘5,即:3×5—15。
两项相加,即:9+15了24。
②闰年月指加日数。
解:公历的闰年是固定的,即每四年闰一年,其规律是:凡是年份十位数是双数的,逢4、8之年为闰年(o年虽是闰年,但不计)。
凡是年份十位数为单数的,逢2、6之年为闰年。
即:十位双数四八问,十位单数二六是。
具体分析:如1965年为十位数的双数,从1960年到】965年,除去60起年代不计外,到1965年只有1964年一个闰年,所以闰年为1,这样,每十年最多有两个闰年,取值范围:1、2二个数字。
再如:1933年,其年份的十位数为3,为单数,从1930到1933年,只有1932年一个闰年。
月指数:也叫月基数,简称月指。
月指数是针对计算各年月的闰年,大月数和二月平或二月闰时所差的天数而设置的,将上述多步计算,简化为~步,变成基数,即指数规律化只要背熟月指数,即一劳永逸,省去很多麻烦。
表中括号内的指数为闰年的月指数。
以上指数很好记忆,一、二月为1、2,三月为0,四、五、六、七月为1、1、2、2,八月为3,九、十、十一、十二月为4、4、5、5。
逢闰年一月为0,二月为1。
加日数:即加求算日子。
总之,闰年月指数加日数,此句口诀的含义是将闰年的数,再加月份的指数,再加求算的日数。
③双月再加三十天:求算月凡是双月的,一律在相加的总数上再加三十天。
公历推算日干支方法
公历推算日干支方法公历推算日干支方法。
首先确定每年元旦的干支:公式(1):本年元旦干支=去年(平年)元旦干支+5;公式(2):本年元旦干支=去年(闰年)元旦干支+6;例如:1983年为平年,其元旦干支为己丑,六十甲子序号排列为26,那么,我们使用公式1,即可得出1984年元旦干支的序数31,即对应干支的甲午。
其它年份依此类推。
日元干支推算公式:日元干支序数=(元旦日干支序数+日数+月加减数)-60*某数(某数的取值为0、1、2,以使日元干支序数大于零,小于等于60,与六十甲子序数对应。
)平年各月份加减数表月份 1 2 3 4 5 6 7 8 9 10 11 12加减数-1 +30+58+29+59+30+0+31 +2 +32 +3 +33 歌诀:二月六月加三十,三月应加五十八,四月二九五五九,三一、二、三八十腊,七零九二冬月三,元月减一是定法。
以上是平年各月的加减数,如逢闰年,因闰年366天,二月为29天,所以,闰年各月份的加减数二月以后都多加1,就是3 月应加59,四月应加30,以此类推。
例如:求1981年10月25日干支,并确定遁甲用局。
(1)可根据万年历查知1981年元旦干支序数,然后计算,亦可从已知某年的元旦干支,如从前例中知1983年元旦干支序数为26,对应己丑,那么,我们即可根据前面的公式推算出1981 年的元旦干支序数。
1981年元旦干支序数=1983年元旦干支序数-2*5=16对应己卯。
(2)代入日干支序数计算公式:10月25日序数=(元旦干支序数+日数+月加减数)-60*某数=(16+25+32)-60*1=13,,即对应干支应为丙子。
日干支转换方法
日干支转换方法
1、日干支转换方法:G = (Y-1)*5 + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D + 15
2、干支是天干和地支的组合。
天干有十个,即甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支有十二个,即子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。
天干和地支从“甲子”开始,按顺序逐一相配,各用到最后一个时,再从第一个开始继续相配,就形成了六十个干支,也称“六十花甲子”。
而公历纪元法简称公元,是国际通行的纪年体系,以传说中耶稣基督的生年为公历元年,相当于中国西汉平帝元年。
干支换算一般指干支纪年与公历纪年间的换算。
3、日干支的求算仿照星期的求算,得到一个比较直观的计算日干支的公式如下:G = (Y-1)*5 + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D + 15,(3)其中Y是年份,D是累积天数,[...]表示取商数,也就是只取计算结果的整数部分。
把G除以60,余数就是干支的序号。
日天干地支算法公式
日天干地支算法公式日天干地支的算法公式听起来好像有点神秘和复杂,但其实只要咱们一步步来,也能搞得清楚明白。
咱先来说说天干地支是啥。
天干就是甲、乙、丙、丁、戊、己、庚、辛、壬、癸这十个;地支呢,则是子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥这十二个。
它们组合起来就形成了咱们常说的六十甲子,用来纪年、纪月、纪日、纪时。
要说这日天干地支的算法公式,那还真有一套方法。
咱们先把年份的数字除以 10 ,取余数,对应到天干上。
比如 2023 年,2023 除以 10 余数是 3 ,对应天干就是癸。
然后再把年份的数字除以 12 ,取余数,对应到地支上。
2023 除以 12 余数是 7 ,对应地支就是卯。
这样 2023年就是癸卯年。
可这只是年的算法,日的算法就稍微复杂点啦。
有一个比较常用的公式是:日天干地支 = (当年元旦的天干地支序号 + 所求日期 - 1 ) % 60这里要先搞清楚当年元旦的天干地支序号。
比如说 2023 年 1 月 1日是壬寅日,壬对应的序号是 9 ,寅对应的序号是 3 ,那序号就是 93 。
我记得有一次,我跟几个朋友出去露营。
晚上大家围坐在篝火旁聊天,不知怎么就聊到了天干地支。
有个朋友突然好奇地问:“今天这日子在天干地支里咋算呀?” 我当时就来了兴致,开始给他们讲起这个算法。
我一边在纸上写写画画,一边解释,大家听得那叫一个认真。
结果算出来后,有个朋友一脸懵地说:“哎呀,这可比我做数学题还难!”大家都哈哈大笑起来。
不过要注意哦,这个公式算出来的结果还得根据一些特殊情况进行调整。
比如说闰年和平年的差别,还有每个月的天数不同等等。
总之,日天干地支的算法公式虽然有点复杂,但只要咱们耐心琢磨,多练习几次,也能熟练掌握。
说不定哪天在朋友面前露一手,还能让人刮目相看呢!希望我讲的这些能让您对日天干地支的算法公式有点了解,要是还有啥不明白的,咱再一起探讨探讨!。
推算日干支的简易速算法
推算日干支的简易速算法在信息预测中,如果不带万年历也可以推算出年干支,月干支,日干支,时干支,年干支很好推算,月干支可以用五虎遁,时干支可以用五鼠遁,下面看看我们的日干支推算法。
(一)、公式用阳历的公元日期进行推算。
[(公元年数一1)X5十(公元年数一1)÷4十(距离预测日期)]÷60诗诀日柱干支何所知,阳历公元年用之。
先来减一后乘五,再加减一后四除。
挨数相加来分闰,用事之根一月一。
全全之数除六十,用的余数应干支。
演数神奇能通道,先贤数术留小妙。
(二)、要知道干支以备应用甲1乙2丙3丁4戊5己6庚7辛8壬9癸10。
子1丑2寅3卯4辰5巳6午7未8申9酉10。
(三)、首先要用余数记住余数除10为天干,除12为地支。
用上例公式计算的时候,用的是最后的余数,不是商,这一点要明白。
例如计算下来余数为15,用15除10,用余数是5,5就为天干戊。
用15除12,用余数是3,3就是寅,合起来就是戊寅。
(四)、掌握平年与闰年一平年有365天,一闰年为366天。
四年为一闰。
平年的计算简便之法是除4有余数,不整除的为平年,凡是除4整除的为闰年。
凡是1、3、5、7、8、10、12月为大月,为31天。
凡是4、6、9、11月为小月,为30天。
2月比较特殊,平年为28天,闰年为29天。
(五)、在公式计算的时候注意的问题在用公式计算时应当注意先算小括号内,再算大括号内。
另外在公元数减一的时候,商有余数不记,和在用事日计算时,要分清平年与闰年,平年2月为28天,闰年为29天。
(六)、任意举一例,来学习学习。
例如预测一下阳历2020年4月14日的日干支是什么?就用公式计算出结果数的余数为是24,余数不是商,是计算题下面的余数。
用24除以10,用余数4,4为天干丁。
用24除12,用余数0,12为地支亥。
合起来此日为丁亥日。
其它日也同样方法。
玩转公历推算日干支
玩转公历推算日干支玩转公历推算日干支关于从公历日期推算日干支,网上多有网友撰文介绍,有的用公式,有的用口诀,如默诵“卯申子巳”法、“欲推來年元旦日先知今年日干支”法、“减一除四取商数”法等,方法林林总总,不一而足。
但有的方法只适用某一时段,超过某时段范围方法失效;有的方法推算过程复杂,不易掌握。
普遍缺点是读者看后知其然不知其所以然,按其方法推算,能推出正确的结果,却不知道为什么。
为便于理解,帮助提高运算准确性,借助大师们的经验,作个综述。
一、基本规律:(一)公元前(儒略历)年份减1能被4整除的都是闰年,其余是平年。
如公元前5年减1为4,能整除,是闰年。
(二)公元1年至公元1582年10月4日(儒略历)能被4整除的年份都是闰年。
公元1582年10月4日直接跳到10月15日,前后相差11天,中间没有10月5日至10月14日这10天。
(三)1582年10月15日(包括当日)以后(格里历)1、能被100整除且能被400整除的年份是闰年,能被100整除但不能被400整除的年份是平年;即每4个世纪有3个平年,1个闰年。
如1600年置闰,1700、1800、1900年不置闰,2000年置闰,2100、2200、2300年不置闰,依此类推。
2、其他不能被100整除的年份,能被4整除的年份是闰年,不能被4整除的是平年。
(四)公元1582年以前,每80年相同月日的干支重复一次如公元前1年12月31日干支是丁丑,公元前81年12月31日、公元80年12月31日的干支都是丁丑。
(注意:没有公元0年或公元前0年)。
(五)闰年每年366天,其中2月为29天;平年每年365天,其中2月为28天。
二、推算某年某月某日干支的方法(一)1582年以前日干支的推算:1、确定基点年:以公元前1年12月31日丙子日(序号13)为起始点,往前往后推80年的整数倍的年份(因没有公元前0年,公元前的要减1年,如公元前81年减1为80,公元前161年减1为160)作为推算基点。
起日干支口诀
起日干支口诀起日干支口诀干支记日推算法第一种:日干支的推算方法一般按阳历日期来推算,先以当年的元旦干支的代表数为基础(天干1 10,地支1〜12)另加所求日数,然后查表按月进行加或减(附后),再除去干支的周转数(天干10,地支12),所余的数即为所求的日干支的代表数,即可按数字转为干支,此为平年的日干支推算法。
如遇闰年,因二月多一天,所以在用上法推算时,从三月份起,应在所求日干支数上再加1附:各月干支加减表一月干支均减1 二月干加0支加6三月干减二支加10 四月干减1支加5五月干支均减1 六月干加0支加6七月干支均加0 八月干加1支加7九月干支均加2 十月干加2支加8I^一月干支均加3 十二月干加3支加9为了便于记忆,有歌一首:一五双减一二六加零六三减二加十四减一加五七零九加二八加一七走十上加二八冬三腊三九闰从三月起余数均加一例1:求1981年12月31日的日干支查1981年元旦干支为己卯,己的代表数为6,卯为4, 即以6、4为基数进行计算。
干:6+ 31 (所求日数)+ 3 (12月干加3)= 40 除去周转数30,余10。
10代表癸,所以日干是癸。
支:4+31+9(12 月支加9)=44除周转数36,余8。
8 代表未所以日支是未。
合起来可知1981 年12 月31 日为癸未日。
并由此可以推之1982 年元旦干支为甲申。
第二种:元旦加五一下数即为七七隔九月一九下十一月元上三月一元冲四月一四下二六一六下数八月八下十月整十下十二月闰年元旦兼三月下五五下七月明七隔一支为九月九下十一单月终双月五冲为二四四下六八十顺行十下十二终分明使用方法:先要记住每年元旦日的干支。
如今年(0 5)年,元旦是乙酉日(与太岁同),为平年。
按第一首歌诀推导其它各月的1号的干支。
元旦兼五一,意思是五一与元旦的干支是一样的,按今年来说,也是乙酉日。
“ 下数即为七” ,乙酉下一个干支是丙戌,那么,7月1日就是丙戌日也……“ 元冲四月一” ,乙酉对冲(只是地支的对冲,干不变)是乙卯,所以,四月一日就是乙卯日了。
根据公历计算日期干支(独创研究,简单规律!)
根据公历计算日期干支(独创研究,简单规律!)声明:个人独创研究、版权所有,欢迎转载但请注明、侵权必究,感谢支持!谈到八字或干支(六十甲子)纪元,具体到哪年哪月哪日某时刻的干支(或八字),可以通过查询万年历得到,但少数时候不方便查询万年历、或者有些朋友有兴趣研究自己推算。
关于年、月和时的干支,相对比较简单、容易推算、且有多种方法,有兴趣的朋友可以找来、易学好用,根据自己的喜好选择相应的方法。
但是对于日期的干支推算,向来是最难的。
笔者研究了前人的各种方法和经验,却觉得相对都比较繁杂、混乱,不是太清明、亦不便于记忆和实用。
因此,本人在前人的基础上进行整改优化,创立了一套相对来说是最简单、最规律,最清晰明了、最好记好用的方法,在此与大家分享:根据公历日期推算日干支口诀:年后除月余乘五,三起数大五回一;年后除四闰减一,双减三十日加九。
解释:年后除四余乘五——年份后两位数(2000年后的先加100)除以12(一年的总月份数)、得余数,乘以5;三起数大五回一——每年以三月份为起始基准,后面每过一个大月加1、满5回零再从1起计算;年后除四闰减一——这句两层意思合在一起,一是指用年份后两位数(2000年后的先加100)除以4得到的结果,另一是指当刚好整除完没有余数时(即闰年)、年后那两个月(一月和二月)的月干支系数要再减1;双减三十日加九——当日日期数再加9,逢双月时、须减30。
方法说明:一、年份干支系数,1. 取公历年后两位数(2000年后的先加100),先除以12得到的余数(不看商)、再乘以5;2. 取公历年后两位数(2000年后的先加100),除以4得商(不管余数)。
二、月份干支系数,1. 每年以3月为起始,其后每过一个大月加1、小月不动、满5重算,即三月为0,四五月份为1,六七月份为2,八月份为3,九十月份为4,十一十二月份为5,一月份重新回到1,二月份为2;2. 遇公历闰年时(即年份能被4整除)、即上述第一项第二条除以4后没有余数的情况下,一二两个月的干支系数要减1;3. 遇双月(二四六八十十二月),减30(或加30,道理一样、即差60——一个完整的甲子干支循环数)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
根据公历日期计算当日干支一、口诀:乘五除四九加日,双月间隔三十天。
一二自加整少一,三五七八十尾前。
二、举例说明:例一: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,对应干支为“壬戌”。
例四: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,依此类推)。
在介绍求年干支和日干支的公式前,先把干支的特点介绍一下。
干支是天干和地支的组合。
天干有十个,即甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支有十二个,即子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。
天干和地支从“甲子”开始,按顺序逐一相配,各用到最后一个时,再从第一个开始继续相配,就形成了六十个干支,也称“六十花甲子”。
为什么是六十个干支呢?这个从数学上很容易回答。
根据干支的构成条件,其循环周期必然是天干数和地干数的最小公倍数。
而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,天干是辛。