年月日时“干支”推算公式(不查表或万年历)

最简单的办法就是采用国家有关单位出版的标准万年历,上面均标有详细的当年干支。或者在百度上输入年月日查干支即可。

六十甲子干支序数的求法:

我国用干支纪年的历史是很悠久的。与公元相比较,公元4年的干支正是甲子年。因而将公元年数减去3,再除以60(六十甲子周转数),其余数即为所求年数的干支序数。如:2000年干支序数的求法为2000—3=1997,除以60得余数17,查干支序数(干支序数见前述“六十甲子干支次序”)为“庚辰”,则2000年的干支为庚辰。

例:2024年,2024-3=2021÷60,余数为41,甲辰,(不能用计算器,手工列算可以看到余数)

天干序号

甲——1;乙——2;丙——3;丁——4;戊——5;己——6;庚——7;辛——8;壬——9;癸——10。

地支序号

子——1;丑——2;寅——3;卯——4;辰——5;巳——6;午——7;未——8;申——9;酉——10;

戌——11;亥——12。

年干公式

年数(即公元年末位数)一3一年干的代数(即年干序号,以下同)。即以出生年的尾数减3,余几,就是十天干顺次序号的第几位,余1即是甲,余2即是乙……余类推。求年干时,如年干末位数不够减3,则借10;

注:此公式适用于任何年代的天干推算。

(1900——2100)年干公式:年干=年尾数-3

例:1969年年干=9-3=6,第6位天干就是“己”。

2012年年干=2-3=9,第9位天干是“壬”。(2不足减就补10成12)

2024年,年干=4-3=1,甲

总之,求生年天干的方法,就是一个公式:生年的尾数减3,余几位即是十天干顺序的第几个。如逢0、1、2不够减时,可从10位数假借10加生年尾数再减3,余几即是十天干的第几位。

公元后任何年代:公元年末位数-3=年干,负数则加10;公元前任何年代:公元年末位数+8=年干(公式揭密:因为公元3年为癸亥年,而天干又是逢10一循环。公元4年天干是甲,而4-3=1。由于没有公元0年,所以公元前的天干为末位数-3+1,再+10转为正数)

年支公式:

(按不同世纪推算):

十九世纪(即1800~1899年)地支推算公式。公元年末二位数,即年支的代数(年支序号,下同);

二十世纪(即1900~1999年)地支推算公式。公元年末二位数+1,即是年支的代数;

二十一世纪(即2000~2099年)地支推算公式。公元年末二位数+5,即是年支的代数。

即以出生年的末两位数,按不同世纪+9或+1、+5,和数为几,就按地支顺次查第几位序号,余1即是子,余2即是丑,余3即是寅……求年支时,如年支数超过12,则需递减12,取12(含12)以下的余数。数大于12数,故需递减12,取小于12(含12)以下的余数。

公元年末二位数+9=年支(适用于1800—1899年);

公元年末二位数+1=年支(适用于1900—1999年);

公元年末二位数+5=年支(适用于2000—2099年);

例:

1969年,年支=69+1=70,(70-60=10)去掉60的倍数为10,地支第十位为“酉”。

2012年,年支=12+5=17,(17-12=5)去掉12余5,地支第五位是“辰”。

2024年,年支=24+5=29,(29-12=17-12=5),辰

那么1969年干支就是己酉;2012年干支就是壬辰。2024年为:甲辰

推算年地支:

公元后任何年代:(公元年数-3)÷12,得余数0-11为年支,负数则加12,0视作12;

公元前任何年代:(公元年数-2)÷12,余数-11-0为年支,加12转为正数,0视作12(公式揭密:类似前述)

注:年干支是以立春为界,而不是以春节为界的。如1964年阳历2月4日的阴历为十二月二十一,仍为癸卯年;但1964年阳历2月5日的阴历虽为十二月二十二,而此日已立春,宜做甲辰年。

例一:求公元前7的年柱干支:年干=-7+8=1,即甲;年支=(-7-2)÷12=-9,加12转为正数3,即寅。故公元前7年是甲寅年。

例二:求2000年的年柱干支:年干=末位数0-3=-3,加10=7,即庚。年支=00+5=5,即辰。故2000年是庚辰年。

例三:求1999年的年柱干支:年干=末位数9-3=6,即己;年支=末二位数99+1=100减去8个12后余4,即卯。故1999年是己卯年。

闰年的求法

每个世纪共有25个闰年,民间简捷记闰方法是:凡逢申、子、辰为闰年。

求何年为闰年,最简单的方法,是用4去除公元数,凡能用4整除尽者为闰年,除不尽者为平年。由于地球绕太阳公转一周时所需的时问为365天5时48分46秒,那么积4年的零余则为1天,所以闰年的二月份也就比其他月份多出了一天。理解了这个道理,就明白这四年一闰的道理了。

但需注意的是,每100年停闰,至第400年又不停闰。这是因为4年加一天又多了44分56秒,积满128年左右就又多了一天,也就是说,在400年中约多算了3天。因此,按每100年停闰,至第400年又不停闰的这种方法计算,就巧妙地在400年中减去了3天,防止了误差。这种推算方法,是从1912年开始使用的。

月干推算

月干支最为常叫的称呼为“月令”。月令在日干诊病法中是至关重要的,任何干支的旺衰都是以月令为基础来进行衡量的。月令的令,即司令之意,在日干诊病法中也称提纲。从这些名称中我们就应该知道月令的重要性。

五虎遁年上起月法:

甲己之年丙作首,乙庚之岁戊为头,逢年干是甲或己的年份,正月的月干从丙上起;逢年干是乙或庚的年份,正月的月干从戊上起;甲己合士,火生士,所以为丙。乙庚化金,土生金,所以为戊。

丙辛之位从庚上,丁壬壬位顺行流,逢年干是丙或辛的年份,正月的月干从庚上起;逢年干是丁或壬的年份,正月的月干从王上起;丙辛合水,金生水,所以为庚。丁壬合木,水生木,所以为壬。

戊癸之年何方法,甲寅之上好追求。逢年干是戊或癸的年份,正月的月干从甲上起,戊癸合火,木生火,所以为甲。

计算月干:月干要根据年干来定,农历正月(寅月)的月干通常和年干一样,其他月份的月干则有特定规则。

公式是:年干×2+月数(农历月份,正月为1)后减1,再对10取余数,余数对应的天干就是月干如果余数为0,那就是天干中的最后一个“癸”。(此处存在减一存争议)

年干x2+月数=月干,超过10则减去10的倍数到0-9,0视作10)(公式揭密:由于甲子年的正月是丙寅月,即甲1对应丙3,推算下去,乙丑年的正月是戊寅,即乙2对应戊5,再下去是丙3对应庚7,正好每年正月的天干为年干x2+1)

月支推算

月支是固定的,日干诊病法,在使用干支纪月时,一年中每一个月是以二十四个节气中的十二个“节”为界线来划分的,而不是以“气”来划分。立春是一月,地支为寅;惊蛰是二月,地支为卯;清明是三月,地支为辰;立夏是四月,地支为巳;芒种是五月,地支为午;小暑是六月,地支为未;立秋是七月,地支为申;白露是八月,地支为酉;寒露是九月,地支为戌;立冬是十月,地支为亥;大雪是十一月,地支为子;小寒是十二月,地支为丑。

阴历月支是固定不变的,自商代历法开始,将每年的第一个月的地支定为寅,称为“正月建寅”,以后各月按地支顺序类推。

正月天干的计算方法为:若:遇上甲或己的年,正月是丙寅;遇上乙或庚之年,正月为戊寅;遇上丙或辛之年,正月为庚寅;遇上丁或壬之年,正月为壬寅;遇上戊或癸之年,正月为甲寅。依照正月之干支,其余月份按干支推算即可。

正月为寅(从立春当天到惊蛰前一天),二月为卯(从惊蛰当天到清明前一天),

三月为辰(从清明当天到立夏前一天),四月为巳(从立夏当天到芒种前一天),

五月为午(从芒种当天到小暑前一天),六月为未(从小暑当天到立秋前一天),

七月为申(从立秋当天到白露前一天),八月为酉(从白露当天到寒露前一天),

九月为戌(从寒露当天到立冬前一天),十月为亥(从立冬当天到大雪前一天),

十一月为子(从大雪当天到小寒前一天),十二月为丑(从小寒当天到立春前一天)。

例一:2008年阳历2月3日的月柱干支:此日阴历为十二月二十七,且还未立春,年干支应算做2007年的干支丁亥。年干丁4x2+月数12=20,再减10=10,即癸;此日还未立春,地支为丑;故2008年阳历2月3日(阴历十二月二十七)的月柱干支为癸丑。

例二:2008年阳历2月4日的月柱干支:此日阴历虽为十二月二十八,但正好立春,年干支应做2008年的戊子,月数应为1,而不是12。年干戊5x2+月数1=11,再减去10=1,即甲;地支为寅;故2008年阳历2月4日(阴历十二月二十八)的月柱干支为甲寅。

推算日柱干支法

公元2000年元旦是戊午日,欲求任何一天的日干支,皆可以此天为参考。即计算出欲求当天与2000年元旦相距总天数,假设相距总天数为A。则公元2000后某天的日干支求算方法如下:

(A-5)÷10,取余数0-9即为日干;

(A-5)÷12,取余数0-11即为日支。

详细计算公式

1、计算某年某月某日期的干支,需要区分平年和闰年。一般情况下,平年2月为28天,闰年2月为29天。

2、计算平年日干支的公式,区分到月,公式得出的结果的余数个位数对应日天干,余数除以12得出的新余数对应日地支。

天干:1甲、2乙、3丙、4丁、5戊、6己、7庚、8辛、9壬和0癸。

地支:1子、2丑、3寅、4卯、5辰、6巳、7午、8未、9申、10酉、11戌、0亥。

1)奇数月,计算日干支

1月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+1】÷60

比方说,2023年1月1日,日干支利用公式计算:

【(2023-1900)×5+(2023-1900)÷4+9+1+1】÷60=(123×5+123÷4+11)÷60=656÷60=10余56

余数56的个位数6对应日天干为己,

余数56÷12=4余8,余数8对应日地支为未。

所以2023年1月1日的日干支为己未。

3月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值】÷60

比方说,2023年3月1日,日干支利用公式计算:

【(2023-1900)×5+(2023-1900)÷4+9+1】÷60=(123×5+123÷4+10)÷60=655÷60=10余55

余数55的个位数5对应日天干为戊,

余数55÷12=4余7,余数8对应日地支为午。

所以2023年3月1日的日干支为戊午。

5月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+1】÷60

7月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+2】÷60

9月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+4】÷60

11月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+5】÷60

2)偶数月,计算日干支

2月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+2】÷60

比方说,2023年2月1日,日干支利用公式计算:

【(2023-1900)×5+(2023-1900)÷4+9+1+30+2】÷60=(123×5+123÷4+10+32)÷60=687÷60=11余27

余数27的个位数7对应日天干为庚,

余数27÷12=2余3,余数3对应日地支为寅。

所以2023年2月1日的日干支为戊午。

4月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+1】÷60

比方说,2023年4月1日,日干支利用公式计算:

【(2023-1900)×5+(2023-1900)÷4+9+1+30+1】÷60=(123×5+123÷4+10+31)÷60=686÷60=11余26

余数26的个位数6对应日天干为己,

余数26÷12=4余2,余数2对应日地支为丑。

所以2023年4月1日的日干支为己丑。

6月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+2】÷60

8月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+3】÷60

10月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+4】÷60

12月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+5】÷60

3、计算闰年日干支的公式,“一二月减一”区分到月,公式得出的结果的余数个位数对应日天干,余数除以12得出的新余数对应日地支:

1月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值】÷60

比方说,2024年1月1日,日干支利用公式计算:

【(2024-1900)×5+(2024-1900)÷4+9+1】÷60=(124×5+124÷4+10)÷60=661÷60=11余1

余数1的个位数1对应日天干为甲,

余数1÷12=0余1,余数1对应日地支为子。

所以2024年1月1日的日干支为甲子。

比方说,2024年3月1日,日干支利用公式计算:

所以2024年3月1日的日干支为甲子。

2月【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+1】÷60

比方说,2024年2月1日,日干支利用公式计算:

【(2024-1900)×5+(2024-1900)÷4+9+1+30+1】÷60=(124×5+124÷4+10+31)÷60=692÷60=11余32

余数32的个位数2对应日天干为乙,

余数32÷12=2余8,余数1对应日地支为未。

所以2024年2月1日的日干支为乙未。

比方说,2024年4月1日,日干支利用公式计算:

所以2024年4月1日的日干支为乙未。

时辰的天干推算口诀:

时干=日干×2+时支-2

(因为天干有十个,所以计算出来的数字如果大于10,就要减去10)

例如;2020年12月12日的日柱为己丑,己对应数字6。那现在推算时辰,知道某人出生在12日下午13:30,13点到15点之间的地支为未时,未对应数字8。套用公式,时天干=日天干×2+时地支-2=6×2+8-2=18-10=8,8对应天干辛,所以此人出生的时辰干支为辛未,加上日柱,就是己丑日辛未时。

2024年10月22日(甲辰,甲戌,己未,己为6)上午十点半为巳时(6),时天干=日天干×2+时地支-2=6×2+6-2=16-10=6,对应的天干时己,故时干支为:己巳

时天干所需对应的数字如图:

“日上起时法”

干支纪时是以十二时辰为标准的,而十二时辰的地支是固定的,即23-1点为子时,1-3点为丑时,3-5点为寅时,5-7点为卯时,7-9点为辰时,9-11点为巳时,11-13点为午时,未时、申时、酉时、戌时、亥时。因此,时干支即时辰干支的推算和月干支一样,只要求出时干就可以了,其推算方法前人也总结一首歌诀,叫“五子遁元”或“五鼠遁元”歌:

甲己还加甲,乙庚丙作初;

丙辛从戊起,丁壬庚子居;

戊癸何方法,壬子是真途;

就是说日天干是甲或己的,子时为甲子时,丑时为乙丑时,寅时为丙寅时,卯时为丁卯时,辰时为戊辰时,巳时为己巳时,午时为庚午时,未时为辛未时,申时为壬申时,酉时为癸酉时,戌时为甲戌时,亥时为乙亥时。

日天干是乙或庚的,子时为丙子时。日天干是丙或辛的,子时为戊子时。子时的干支知道了,一下便可以顺推。因其是据日干推子时,从而得知各时辰干支。

参考文献

干支快速推算法,初夏自然2017-03-19

如何准确推算年干支的简单方法,国学小客堂,2023-06-18大道家园

纯干货!教你快速推算年月日时干支

易学:详解如何计算日期的天干地支?爱健身读书的小鹿姐姐2023-11-23

THE END
1.中国农历年份,rpa,机器人,自动化至此千百年来,中国传统历——汉历(农历)所采用得干支纪年方法,与皇帝年号纪年一样以新年正月朔(元旦)为开始。 从元明清三代的史书,可见干支纪年在正月初一更替的记录:更多内容请查看https://baike.baidu.com/item/%E5%B9%B2%E6%94%AF%E7%BA%AA%E5%B9%B4/3383226 https://wdlinux.cn/html/zonghe/20241128/20015.html
2.家谱中的公历农历是怎么记载?天干地支又是什么?族谱新闻天干地支又是什么? 公历为国际通用纪年,书写为“XXXX年XX月XX日”;农历为我国传统历法,书写为“天干地支+月份美称+日期”。修谱时应尊重个人习惯,天干地支可保留并注明公元年份。 公历与农历的记载方式 公历:公历又称格里高利历或西历,是现在国际上通用的纪年方式。在家谱中,公历日期的书写方式通常为“XXXX年XX月XXhttps://www.zupu.cn/zxzp/20241126/657384.html
3.国历和农历怎么转换6、国历与农历的换算公式 求教高人!!! 你指的是公历与农历的换算公式吧?这个算法复杂,我可以提供C或C++的API函数给你,不知道你是用什么语言来编的? 7、转换农历国历 网友分享:你好,国历1997.13,转换为农历是1997年1月7日,星星期四;国历1997.1,转换为农历是1996年12月24日,星期六。 https://www.105188.com/sh/618011.html
4.生肖属相,是按“阴历”算,还是按照“阳历”计算?中国的生肖是按照阴历(农历)来计算的,而非阳历(公历)。生肖是根据农历年份的天干地支组合而成的,共有十二种生肖,每种生肖对应一个农历年份。生肖文化在中国有着悠久的历史,深刻地影响了人们的日常生活、文学艺术、传统习俗等方面。 1. 阴历与阳历的区别 https://www.16757.com/ysh/bazi/5197.html
5.java知道日期计算农历mob64ca12f062df的技术博客在上面的示例代码中,我们使用JollyDay库的HolidayManager和CalendarUtil类来计算农历日期。这个库提供了一些现成的方法来处理日期的计算,我们只需要传入阳历日期就可以得到对应的农历日期。 算法优化 计算农历日期是一个复杂的问题,通常需要考虑一些规则和特殊情况。为了提高计算的效率和准确性,我们可以使用一些算法来优化。https://blog.51cto.com/u_16213431/8928302
6.2019年复活节的日期及复活节日期算法2019年复活节的日期及复活节日期算法 2019年复活节是几月几日:4月21日,农历三月十七,星期日 复活节(主复活日)是一个西方的重要节日,在每年春分月圆之后第一个星期日。基督徒认为,复活节象征着重生与希望,为纪念耶稣基督于公元30到33年之间被钉死在十字架之后第三天复活的日子。https://www.rili.com.cn/fuhuojie/80384.html
7.中国农历,有详细的阴历算法求最近朔望日期的公式资源这本来是我为一个商业PDA产品开发的日历程序,最近移植于PC机上, 所以算法 和数据部分是用纯C++写的,不涉及MFC,所有的代码都是以短节省存储空间为主要目 的. 很高兴你对这些代码有兴趣,你可以随意复制和使用些代码,唯一有一点小小的 愿望:在你使用和复制给别人时,别忘注明这些代码作者:-)。程序代码也就罢了,后https://download.csdn.net/download/ss6321983/914080
8.一种公历到农历日期转换算法的实现一种公历到农历日期转换算法的实现消耗积分:5 | 格式:rar | 大小:136 | 2009-08-03 分享资料个 关注 本文主要从单片机软件实现角度介绍一种公历到农历转换的算法思想, 算法采用MCS-51 指令系统实现。并给出程序流程图,另外对二十四节气和生肖的算法也做详细介绍。关键词:单片机;MCS-51 指令系统Abstract: https://m.elecfans.com/article/39160.html
9.农历当前日期的函数揭秘(农历当前日期的函数是什么)具体来说,农历日期的计算涉及复杂的算法,其中包括天文学和历法学知识。农历是以月亮的阴晴圆缺为基准,结合太阳的运行周期来划分时间的。因此,农历的每个月份的开始(即朔日)是根据月亮的朔望运动来确定的。农历当前日期的函数首先需要确定当前的公历日期,然后通过算法计算得出对应的农历日期。这个过程包括计算当前年的农历https://www.zaixianjisuan.com/jisuanzixun/nonglidangqianriqidehanshujiemi.html
10.二十四节气小雪是否宜婚嫁不同年份的小雪时间查询2035年小雪时间:11月22日20:02:41,农历2035年十月(大)廿三 小雪日期算法 小雪公式:(Y×D+C)-L 公式解读:Y=年数后2位,D=0.2422,L=闰年数,21世纪C=22.36,20世纪=23.08。 举例说明:2088年小雪日期=(88×0.2422+22.36)-(88÷4)=43-22=21,11月21日小雪。 https://m.smxs.com/fengshui/zhishi/138340.html
11.2015年出生的宝宝什么命2016年出生的宝宝什么命农历日期:2020年5月1日星期日。 开始时间:2020年6月21日星期日,05:4:33 结束:2020年7月6日星期一2:14 夏至日期算法 夏季日期公式:[Y * D C]-L 其中:Y=年份的最后两位数,D=0.2422,L=闰年数; C:21世纪C=2137,20世纪C=2220。 https://www.cxbaomu.com/ketang/1225336.html
12.祭拜亲人日期的算法逝者百日的算法是死亡日期加99天。因为死亡当天为第一天。人死后第100天即百日,也是一个隆重的祭祀日,又称百日祭,百日烧等,百日流行于全国大部分地区,各地做法不同,一般在人死100天后由其家人上坟祭拜,祭拜内容有明烛,烧香,化纸,献果品等。 百日祭也叫烧百日,就是人去世100天后需要举行的一个祭祀仪式,这个葬俗https://www.meipian.cn/4zv3e605
13.农历日期计算器理想股票技术论坛农历日期计算器是一款方便用户进行农历和公历日期转换的工具,可以帮助用户快速查找特定日期的农历信息。它还提供了详细的农历节日查询功能,让用户了解各种传统节日的日期和相关信息。无论是需要查询自己的生日在农历还是公历中的日期,还是想要了解某个节日的具体日期,农https://www.55188.com/tag-thread-4625705-1.html
14.IC卡日期转换软件及算法共6种.rarIC卡日期转换软件及算法_共6种,包括立林日期正向算法和逆算法,7种常用时间换算关系。一共4个小工具软件和两个EXCEL算法。比较详细。 IC M1 立林日期2020-02-04 上传大小:1737KB 所需:48积分/C币 (实例源码)硬件读写IC卡ID卡指纹识别短信猫数据采集器视频采集卡读写加密狗.rar https://www.iteye.com/resource/yjyj109-12134410
15.公历转农历怎么个计算方法?标题: Re: 公历转农历怎么个计算方法? 发信站: 水木社区 (Mon Nov 20 14:01:40 2023), 站内 实时计算很麻烦,各种所谓的算法 好一些的是以某年的天体轨道参数的观测值为基准,用天文学方法计算未来的轨道参数,越久误差越大,不过一般情况下计算未来十年的日期不会有大问题 差一些的就拼凑拟合一个“公式http://images.newsmth.net/nForum/article/Programming/211883?p=1&au=eggcar