`
zengxx1989
  • 浏览: 294975 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

天干、地支纪年 月 日

360 
阅读更多
基本常识:1.天干有十:甲乙丙丁戊己庚辛壬癸;2.地支有十二:子丑寅卯辰巳午未申酉戌亥。我国的第一个甲子年是在公元前2697年。天干有十,故每十年一个循环;地支有十二,故每十二年一个循环。天干与地支相配,按顺序组合,甲子年、乙丑年、丙寅........十与十二的最小公倍数为60,所以60年以后开始重复甲子年,周而复始。通常我们说的一甲子就是60年;年过花甲就是指年过60岁。
故公元1年,与第一个甲子年年差为2697年。2697/10的余数为7,所以公元一年的天干为甲往后推7个数,即第8个天干,辛;2697/12的余数为9,故公元一年的地支为子往后推9个数,即第十个地支,酉。公元2年为壬戌年,公元3年则为癸亥年。公元4年则为甲子年。
为了方便计算,我们以公元3年为基点来计算今后的纪年,因为从癸亥年后又开始新的循环,2697+3=2700正好是60的整倍数,即公元3年后重新从甲子年开始。
譬如2009年的干支纪年:以公元3年为基点,相差2009-3=2006年,故天干为2006/10的余数6,实际上只要看个位数就行了,即是6,第六个天干,即己;地支为(2009-3)/12的余数2,第二个地支,即丑,故2009年为己丑年。
总结一下,天干为(年份-3)的个位数,地支为(年份-3)/12的余数。

有了前一篇天干、地支纪年的基础后,我们再来谈谈天干地支纪月的计算。
我们已经知道地支有十二:子丑寅卯辰巳午未申酉戌亥,刚好对应十二个月,但地支纪月是从农历十一月份开始算起的,所以子代表的是农历十一月,以此往下推,地支丑对应十二月,寅对应正月,卯对应二月,辰对应三月,巳对应四月,午对应五月,未对应六月,申对应七月,酉对应八月,戌对应九月,亥对应十月。所以地支纪月我们就搞清楚了。
每年正月的天干计算方法为(当年的年天干数*2+1)/10的余数,比如2009年为己丑年,年天干为己,数为6,所以2009年正月的天干为6*2+1=13,天干总共是10,十月一循环,13/10的余数为3,故正月的天干为丙,所以2009年正月的天干、地支分别为丙、寅,故正月为丙寅月。算出了正月的天干地支,因为月份与地支的对应关系是固定的,其他的月份就可以依次往下推了,二月,天干为丁,地支为卯,故为丁卯月;三月天干为戊,地支为辰,故为戊辰月;.......那么现在7.18为农历闰五月,小暑(07.07)以前归为五月,之后归为六月份,则地支为未,与正月差5个月,所以天干加5也就是该月份的天干了,即丙(3)+5为辛,故为辛未月。
以农历计算存在一个闰月的问题,相对较为麻烦,所以以节气对应的阳历来计算相对比较固定、准确。将立春至惊蛰(即差不多每年2月4日至3月5日)定为寅月(正月),惊蛰(包括惊蛰,以下均同)至清明(3月5日至4月4日)定为卯月(二月),清明至立夏(4月4日至5月5日)定为辰月(三月),立夏至芒种(5月5日至6月5日)定为巳月(四月),芒种至小暑(6月5日至7月7日)为午月(五月),小暑至立秋(7月7日至8月7日)定为未月(六月),立秋至白露(8月7日至9月7日)定为申月(七月),白露至寒露(9月7日至10月8日)定为酉月(八月),寒露至立冬(10月8日至11月7日)定为戌月(九月),立冬至大雪(11月7日至12月7日)定为亥月(十月),大雪至小寒(12月7日至1月5日)定为子月(十一月),小寒至立春(1月5日至2月4日)定为丑月(十二月)。
譬如:1988年2月12日,1988为戊辰年,天干为戊,数为5。2月12日处于2月4日至3月5日(立春至惊蛰)之间,相当于农历的正月,故地支为寅。故1988年2月12日的月天干为正月的天干,为5*2+1,除以10的余数为1,所以1988年正月的月干为甲,故阳历2月12日为甲寅月。再譬如1982年12月04日,处于11月7日至12月7日(立冬至大雪)之间,为农历10月,地支为亥。1982年为壬戌年,天干为壬,数为9,故1982年正月月天干数为9*2+1=19,除以10的余数为9,为壬。农历10月为正月的天干数往后推9个月即是了,故为9+9=18,除以10余数为8,为辛;故1982.12.04月干支为辛亥。

要计算日干支,可以以某年某月某日作为基点来计算。但首先要知道这个基点的干支情况。比如,我们知道2000年元旦的日天干、地支为戊午。以此为基点,我们就可以计算2000年任何一天的天干、地支。
        首先来讲天干的推算,天干10个就一循环,比如2000年3月6日的天干,2000年是闰年,故而二月份有29天,我们知道元旦与3月6日之间的日差为30+29+6-1=30*2+6-2+1+1-1,二月份普通年份28天,差两天三十,大月份31天,有一个1月份,所以加一,2000年是闰年二月份29天,所以加一。故其日差为(30*2+6-2+1+1-1)即【30*月差+该日数-2+大月份数+1(如为闰年)-1】,日差除以10,30*月差能被10整除,故公式可以简化为【-2+大月份数+1(如为闰年)-1】即【大月份数+该日数+1(如为闰年)-3】,亦即1+6+1-3=5,所以3月6日的天干为戊的基础上正推5,即癸。该公式适合于3月份以上的,因为如果是1月份和2月份则不存在二月份28天的问题,一二月份可以直接计算日差的个位数便是。而如果计算2009年元旦的天干呢。二者年差为9,普通年份365天,闰年多一天,四年一闰,100年停闰,400年不停闰,9/4=2,加上2000年也是一个闰年,故总共三个闰年,故2000年元旦与2009年元旦日差为365*9+3(365*年差+闰年数),求天干,只要求其除以10的余数,也就是只要求其个位数即可,365可以拆成360+5,去除360(10的整倍数)故可简化为(5*9+3),即5*年差+闰年数,得出其个位数为8,故余数为8,所以2009年的天干就是戊的基础上正推8,5+8=13,因为天干10个就一循环,超过10,则求其除以10的余数即其个位数3,故2009年元旦的天干为丙。从以上的推算,我们就可以得出每一年元旦的日干计算公式(5*年差+闰年数)/10的余数+5,加5的原因是因为以2000年作为基点,2000年元旦的日干是戊,其数为5。到此,我们无论哪一年的天干都能计算了。
      下面我们来讲地支纪日的计算。与天干纪日相类似。地支12个一循环。日差的计算同天干。计算同一年的日差,一二月份只要直接算就行了。三月以上的日差同样是【30*月差-2+该日数+大月份数+1(如为闰年)-1】即【30*月差+该日数+大月份数+1(如为闰年)-3】,地支12个一循环。所以我们应求其除以12的余数。我们将日差公式拆解为【(24+6)*月差+该日数+大月份数+1(如为闰年)-3】/12,24是12的整倍数,故可以省略去,公式简化为【6*月差+该日数+大月份数+1(如为闰年)-3】/12,同样我们计算一下2000年3月6日的日差余数为(6*2+6+1+1-3)/12.......5,所以2000年3月6日的地支为午向后正推5个数,即亥,故2000年3月6日的天干地支纪日为癸亥日。同样我们做一下每一年元旦的地支推算即(365*年差+闰年数)/12的余数+7,因为2000年元旦的地支午,其数为7。我们给其拆解一下,【(360+5)*年差+闰年数】/12的余数+7,360是12的整倍数,所以可以省略,简化为(5*年差+闰年数)/12的余数+7。这样我们来计算一下2009年元旦的地支为(5*9+3)/12的余数+7=7,所以其地支亦是午,故2009年元旦为丙午日。
到此干支纪日就完备了。

地支与时辰的关系是固定的,即子时(23点至1点)、丑时(1点至3点)、寅时(3点至5点)、卯时(5点至7点)、辰时(7点至9点)、巳时(9点至11点)、午时(11点至13点)、未时(13点至15点)、申时(15点至17点)、酉时(17点至19点)、戌时(19点至21点)、亥时(21点至23点)。所以时辰的地支只需要记忆一下就行了。
子时时辰的天干计算方法为(日干*2-1)。前面我们已经讲过日干的计算方法,2009年元旦的日干是丙,所以今天7月22日的日干为(大月份数+22-3)/10的余数+3=5,故其今天天干为戊,子时的天干则为(5*2-1)=9,为壬。那现在为申时,相差8个时辰,所以其天干为子时的天干壬往后推8个数,为庚。所以这个时辰的天干地支纪为庚申时。
到此我们所有的干支纪年、纪月、纪日、纪时就全都讲完了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics