天干、地支纪月
我们已经知道地支有十二:子丑寅卯辰巳午未申酉戌亥,刚好对应十二个月,但地支纪月是从农历十一月份开始算起的,所以子代表的是农历十一月,以此往下推,地支丑对应十二月,寅对应正月,卯对应二月,辰对应三月,巳对应四月,午对应五月,未对应六月,申对应七月,酉对应八月,戌对应九月,亥对应十月。所以地支纪月我们就搞清楚了。
每年正月的天干计算方法为(当年的年天干数*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月干支为辛亥。