今天給各位分享天干地支紀(jì)日法的知識,其中也會對天干地支紀(jì)日法快速計(jì)算法進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
天干地支簡稱干支,是夏歷中用來編排年號和日期用的。
歷法用天干、地支編排年號和日期,天干共十個字,因此又稱為“十天干”,其排列順序?yàn)椋杭住⒁摇⒈⒍ ⑽臁⒓骸⒏⑿痢⑷伞⒐铮坏刂Ч彩€字,排列順序?yàn)椋鹤印⒊蟆⒁⒚⒊健⑺取⑽纭⑽础⑸辍⒂稀⑿纭⒑ァF渲屑住⒈⑽臁⒏⑷蔀殛柛桑摇⒍ ⒓骸⑿痢⒐餅殛幐伞W印⒁⒊健⑽纭⑸辍⑿鐬殛栔В蟆⒚⑺取⑽础⒂稀⒑殛幹А?/p>
以一個干和一個地支相配,排列起來,天干在前,地支在后,天干由甲起,地支由子起,陽干對陽支,陰干對陰支(陽干不配陰支,陰干不配陽支)得到六十年一周期的甲子回圈。稱為“六十甲子”或“花甲子”。我國人民過去就是以六十甲子循環(huán)來紀(jì)年、紀(jì)月、紀(jì)日、紀(jì)時的。
天干地支這共二十二個的符號錯綜有序,充滿圓融性與規(guī)律性。它顯示了大自然運(yùn)行的規(guī)律,即時(時間)空(方位)互動,和“陰”與“陽”的作用結(jié)果。中國歷法包含了陰陽五行的思想和自然回圈運(yùn)化的規(guī)律。
年:每個干支為一年,六十個干后,又從頭算起,周而復(fù)始,循環(huán)不息。由甲子開始,滿六十年稱做一甲子或一花甲子。稱為干支紀(jì)年法。
月:正月是由寅開始,每個月的地支固定不變,然后依次與天干組合;由第一年的正月丙寅月、二月是丁卯月、三月是戊辰。從甲子月到癸亥月,共六十甲子,剛好五年。
日:由甲子日開始,按順序先后排列,六十日剛好是一個干支的周期。
時:由甲子時開始,但記時的地支固定不變,每天十二個時辰。
干支紀(jì)年、紀(jì)月、紀(jì)日和紀(jì)時的簡單計(jì)算***一.干支紀(jì)年[***一]公元1年的干支是辛酉,只要記住辛酉這一干支,即可簡便而又迅速地推算公元前后任何一年的干支。1.求公元后年干支干:支取所求年分的個位數(shù)支:以所求年分?jǐn)?shù)目12,取其余數(shù)。然后,以辛酉為起點(diǎn),按干支順序依次推出年干和年支(正推)。逆干支順序而推為反推例1:求公元1846年的干支干:6(1846年的個位數(shù)是6)支:10(1846÷12,得余數(shù)為10)以辛酉為起點(diǎn)(即1),正推,得1846年的干支是丙午附注:如干.支數(shù)為0,則取辛酉的前一個干支,即庚申。例2:求公元2050年的干支干:0-庚支:10(2050÷12余數(shù)10)-午2050年為庚午2.求公元前年干支算法與上法一樣,只是要反推,即逆干支順序而推,或用10和12分別減去原得數(shù)后再正推。但要注意,此時起點(diǎn)與上法不同,以辛酉為0,反推時以辛酉前一干支即庚申為起點(diǎn)(即1),正推則以辛酉的下一干支即壬為起點(diǎn)。或直取公元前負(fù)數(shù)即可。例如:求公元前231年的干支[***一]干:1支:11(231÷12余數(shù)11)11為反推時的干支數(shù),只要直取表內(nèi)公元前負(fù)數(shù)即可,即為庚戊。如要正推,則還要用10,12減去此二數(shù)。即干為10-1=9,支為12-11=1。結(jié)果為庚戊。[***二]如不以辛酉作起點(diǎn),也可以任何一個已知年干支為起點(diǎn)推算。一般可以當(dāng)年為起點(diǎn)。***:以所要求的年數(shù)減去已知年數(shù)(或當(dāng)年),得數(shù)的個位數(shù)即為年干數(shù),得數(shù)除以12所得的余數(shù)即為年干支數(shù)。干支數(shù)為正數(shù)時正推,為負(fù)數(shù)時反推,或按[***一]中***變?yōu)檎啤?yīng)注意的是已知年干支作0,正推時以已知年干支的后一干支為1,反推時以已知年干支的前一年干支為1。例如:已知1985年是乙丑年,求1999年的干支。1999-1985=14干:4支:2(14÷12余數(shù)為2)按乙0丙1······的順序正推得年干為已,按丑0寅1······的順序正推得年支為卯,故1999年為已卯年。又如:求1932年的干支1932-1985=-53反推干支數(shù):干:10-3=7支:12-5=7結(jié)果:1932年的干支為壬申。二.日干支計(jì)算法[***]以某一個已知日干支作起點(diǎn)(我們?nèi)ゴ蠹乙子涀〉?984年元月1日的干支甲午)。(1)將所求的年.有.日的數(shù)目分別減去1984年1月1日的數(shù)目,得年差.月差.日差,并算才閏年數(shù).大月數(shù).二月數(shù)(注:所求年大于1984年的這樣減)。(2)(年差×5)+(月差×30)+日差十閏年數(shù)+大月數(shù)-(二月份數(shù)×2)得總?cè)詹睢#?)總?cè)詹畹膫€位數(shù)為日干數(shù),總?cè)詹畛?2所得余數(shù)為日支數(shù)。例如:已知1984年1有1日是甲午,求1999年9月10日的干支。①1999.9.101984.1.1-----15.8.9閏年數(shù):4(15年中閏三次,加上1984年本身是閏年)大月數(shù):5(從1月到9月有5個大月)二月數(shù):1(從1月到9月只有一個2月)②15×5+8×30+9+5+4-1×2=331干:1支:7(333÷12所得余數(shù)為7)以甲午作起點(diǎn)其干支數(shù)作0.0,其后之干支序數(shù)依次為1.1.2.2.3.3······由此推得1999年9月10日是乙丑日。若所求之年小于1984年,計(jì)算步驟與原理與上同,但須注意幾點(diǎn)。(1).必須以數(shù)大的1984.1.1減去數(shù)小的所求年.月.日。(2).當(dāng)月差為負(fù)數(shù)時,后面的大月數(shù)和2月數(shù)也要為負(fù)數(shù)。(3).最后求出的干支數(shù)為正數(shù)時,用反推法,為負(fù)數(shù)時用正推法。當(dāng)然,反推法可以變換為正推法(見“年干支求算法”)。例如:求1930年8月24日的干支①1984.1.11930.8.24-----54-7-23閏年數(shù):13(54年中閏13次,1984年不計(jì)入)大月數(shù):-4(注意要依月差的正負(fù)號取)二月數(shù):-1②54×5-7×30-23+13-4+2=48干:8(此為反推干支數(shù))支:010-8=2-丙變正推則為:0無需變-午推得1930年8月24日為丙午日求得干時要注意如下幾點(diǎn):(1)算閏年數(shù)及二月份數(shù)時,只取二月29日在運(yùn)算范圍內(nèi)的閏年及2月28日在運(yùn)算范圍內(nèi)的二月,取大月數(shù)也只能取31日在運(yùn)算范圍內(nèi)的大月。例如:從1984年1月1日到1999年9月10日閏年數(shù)有4,但若從1984年3月1日到1999年9月10日則閏年數(shù)只有3,因?yàn)?984年2月29日(閏)不在運(yùn)算范圍內(nèi)。從1月1日到9月10日有5個大月,但從1月到8月30日則只有4個大月數(shù),因?yàn)?月31日未包括在運(yùn)算的時是范圍內(nèi)。從1984年1月1日往后算年數(shù)時要把1984年這個閏年算在內(nèi),但從1984年1月1日往前算閏年數(shù)時,則不能把1984年作為一個閏年數(shù)算上,因?yàn)槎路莞疚磪⒓舆\(yùn)算。算2月數(shù)之理亦然,從1月到2月,二月數(shù)算0,只有從1月到2月后的月份,二月數(shù)才能算1。(2)注意歷法有100年停閏而400年又不停閏的規(guī)律,停閏一次,則閏年數(shù)減1,如求19世紀(jì)中某一日的干支,在計(jì)閏年數(shù)時須減1,余類推。三.干支紀(jì)月每年十二月,與十二地支的配對是固定的,即:正月寅.二月卯.三月辰······冬月子.臘月丑。十天干則要輪流與之相配。因此,首先要求出正月的月干,然后就可依次推出該年中各月的干支。求月干支先要知道或者算出年干支,然后根據(jù)年干支求出正月干支。年干為已.庚.辛.壬.癸之年的月干支與年干為甲.乙.丙.丁.戊之年的月干支分別相同,即已年與甲年,庚年與乙年的月干支相同,余類推。即表:┏━━━━━━┓┃甲乙丙丁戊┃┃已庚辛壬癸┃┃12345┃┗━━━━━━┛將年干的甲.乙.丙.丁.戊分別定為1.2.3.4.5,正月的月干數(shù)只要在該年的年干數(shù)上加1,然后按其得數(shù)向后正推即得月干。例如:求1985年(乙丑年)的月干支。乙為2,再加1則為3,然后從乙開始,向后正推三位,至戊,則知乙丑年正月干支為寅,以后各月依次為二月已卯,三月庚辰。乙.庚.辛.壬.癸各年的月干支分別按甲.乙.丙.丁各年的月干支計(jì)算***求之。例如:求庚年午年的月干支庚年的月干支與乙年同,按乙年的月干支算法求之即得(見上例)。故庚午年的月干支為正月戊寅,二月已卯.三月庚辰······。四.時干支計(jì)算法每日十二時辰,分別以十二地支固定地表示之,即夜晚11~1時為子,1~3時為丑,3~5時為寅,5~7時卯······。時支固定不變,時干則輪流與之相配。因此,求時干支首先要求出該日子時的時干,然后依次推出各時辰的干支。同求月干支一樣,只要求出甲.乙.丙.丁.戊各日的時干支,就可知已.庚.辛.壬.癸更日的時干支,后者亦依前者而求之。見表:┏━━━━━━┓┃甲乙丙丁戊┃┃已庚辛壬癸┃┃12345┃┗━━━━━━┛***:將月干數(shù)減1,然后按此得數(shù),以日干為始,向后正推,即得該日子時的天干,其余各時則可依次而推得。如:求丙寅日的時干支丙數(shù)為3,減1則為2,然后以丙為始向后正推到,故丙日的時干依次為:戊子.已丑.庚寅.辛卯······。又如:求辛未日的時干支辛日的時干支同丙時,依丙日時干支計(jì)算法求之即得(見上例)。參考資料:,
日柱公式:日干支序數(shù)=年數(shù)+月數(shù)+日期(和大于60,則減60。1月、2月用上一年的年數(shù))
例:求1987年7月18日,1997年1月15日,2008年8月8日,2015年11月21日,2016年10月1日干支?
解:查表得知
1987年7月18日=1987年數(shù)+7月數(shù)+18日=45+2+18=65-60=5=戊辰
1997年1月15日=1996年數(shù)+1月數(shù)+15日=33+6+15=54=丁巳(1月、2月用上一年數(shù))
2008年8月8日=2008年數(shù)+8月數(shù)+8日=36+33+8=77-60=17=庚辰
2015年11月21日=2015年數(shù)+11月數(shù)+21日=12+5+21=38=辛丑
2016年2月14日=2015年數(shù)+2月數(shù)+14日=12+37+14=63-60=3=丙寅(1月、2月用上一年數(shù))
擴(kuò)展資料:
高氏日柱公式的成功之處在于:以世紀(jì)為運(yùn)算區(qū)間,并引入了世紀(jì)常數(shù)這一重要的概念。使得日柱的求解在兩位數(shù)以內(nèi)進(jìn)行,極大地簡化了求解日柱的過程,實(shí)現(xiàn)了編寫計(jì)算代碼的可行性,且能夠運(yùn)用于心算。是日柱求解***的一大創(chuàng)舉和進(jìn)步。
月基數(shù)的引入也在很大程度上簡化了求解日柱的過程。經(jīng)過進(jìn)一步研究,作者發(fā)現(xiàn)世紀(jì)常數(shù)和世紀(jì)數(shù)之間也存在著對應(yīng)關(guān)系,其關(guān)系公式(高氏日柱公式的輔助公式)如下:
C為世紀(jì)數(shù),X為世紀(jì)常數(shù)的母數(shù)。
取整數(shù)值,X除以60的余數(shù)即為世紀(jì)常數(shù)x。
參考資料來源:百度百科—干支紀(jì)日法
本文到此結(jié)束,如果可以幫助到大家,還望關(guān)注本站哦!