天干地支紀日?
天干地支紀日怎麼計算?
我把公式給你
日天干地支
從已知日期計算干支紀日的公式為:
g=4C+[C/4]+[5y]+[y/4]+[3*(m+1)/5]+d-3
z=8C+[C/4]+[5y]+[y/4]+[3*(m+1)/5]+d+7+i
其中c是世紀數減1。奇數月 i=0,偶數月 i=6,年份前兩位,y 是年份後兩位,M 是月份,d 是日數。[ ] 表示取整數。
1月和 2月按上一年的 13月和 14月來算,因此C和y也要按上一年的年份來取值。
g 除以 10 的餘數是天干,z 錠以 12 的餘數是地支。
如果先求得了g,那麼
z=g+4C+10+i(奇數月i=0,偶數月i=6)
如:
2009年7月16日
G=80+5+45+2+4+16-3=149 餘數為 9,天干是「壬」
Z=149+80+10+0=239 餘數為11,地支是「戌」
干支紀日怎麼算
干支紀年法
如甲子為第一年,乙丑為第二年,丙寅為第三年……六十年為一週。一週完了,再由甲子年起,周而始,迴圈下去。例如1929年是農曆己巳年,1930年是農曆庚午年……到1989年又是農曆己巳年。我們在日曆上看到的己巳年、庚午年,就是按干支紀年這種方法排列下來的。陽曆年份除以60的餘數減3便得該年農曆干支序號數,再查上面的干支便是干支年紀。如果序號數小於、等於零則於支序號數加60。例如,求1991年干支;1991÷60=33餘11,年干支序號數=11-3=8。查干支表知該年為辛未年。又如求1983年干支:1983÷60=33餘3,干支序號=3-3=0,加上60,查干支表知該年為癸亥。
干支紀月法
干支紀月法未普遍實行,主要為星相家推算八字用。其方法為:若遇甲或己的年份,正月是丙寅;遇上乙或庚之年,正月為戊寅;丙或辛之年正月為庚寅,丁或壬之年正為為壬寅,戊或癸之年正月為甲寅。正月之干支知道了,其餘月可按六十甲子的序推知。
干支紀日法
甲炎了第一日,乙丑為第二日,丙寅為第三日……60日為一週。一週完了再由甲子日起,周而復始,迴圈下去。例如農曆己巳年(1989年)正月初一是丁酉日,初二是戊戌日……到三月初七正好是60天,因此三月初二又是丁酉日。
干支紀時法
一天中時辰的地支也是確定的,所以二十四小時配十二地支,由夜間十一點至一點為子時,一點至三點為丑時,其餘照推。時的天由該日所對天干推求,其歌戾如下:
甲己還生甲,乙庚丙作初,
丙辛從戊起,丁壬庚子居,
戊癸何方發,壬子是真途。
即若該日是甲或己的,在子時上配上甲為甲子;日是乙或庚的,在子時上配上丙為丙子;丙辛日子時配上戊為戊子;丁任日為庚子;戊癸日為壬子。知道了子時的干支,便可推知其餘。
已知紀日的天干地支,如何推算出日數?
從已知年份計算干支紀年很簡單:年份數減3,除以10的餘數是天干,除以12的餘數是地
支。
從已知日期計算干支紀日的公式和蔡勒公式很相像,如下:
g = 4C + [C/4] + 5y + [y/4] + [3*(M+1) / 5] + d - 3
z = 8C + [C/4] + 5y + [y/4] + [3*(M+1) / 5] + d + 7 + i (奇數月i=0,偶數月i=6)
其中C是世紀數減一,y是年份後兩位,M是月份,d是日數。1月和2月按上一年的13月和
14月來算。g除以10的餘數是天干,z除以10的餘數是地支。
巧妙運用和干支有關的幾個計算公式,還可以在沒有萬年曆的情況下推算出古書裡的幹
支紀日對應的公曆日期。
------------------------------------------------------------------------------
干支紀日,從夏朝就開始使用了。根據對中國古代歷史典籍《春秋》中記載的日食的
研究,我國的干支紀日,從魯隱公三年二月己巳日(公元前720年2月10日)開始,一直到
今天,都未曾間斷。干支紀年的出現則略晚一些,直到東漢元和二年(公元85年)政府才
下令在全國實行,至今也未曾間斷。因此,凡是需要接觸中國歷史的人,總不免要遇到查
某一年的干支或某一日的干支,以及由年干支和日干支推算是哪一年或哪一日的問題。通
常,這類轉換靠查曆書都可以解決。但既然干支也是一個迴圈系統,自然也就有從年份和
日期求干支的公式。
在介紹求年干支和日干支的公式前,先把干支的特點介紹一下。干支是天干和地支的
組合。天干有十個,即甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支有十二個,即
子、醜、寅、卯、辰、巳、午、未、申、酉、戌、亥。天干和地支從“甲子”開始,按順
序逐一相配,各用到最後一個時,再從第一個開始繼續相配,就形成了六十個干支,也稱
“六十花甲子”。為什麼是六十個干支呢?這個從數學上很容易回答。根據干支的構成條
件,其迴圈週期必然是天干數和地幹數的最小公倍數。而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號......餘下全文>>
天干地支紀日法怎麼換算
▲天干地支紀年與公曆的近似換算
從已知的公曆年份計算干支紀年:年份數減3,除以10的餘數是天干,除以12的餘數是地支。(公元前的年份則用58-“年份數除以60的餘數”後計算)
也可以天干:年份÷10,得到的商不管,看餘數,若餘數-3得正,則按天干順序往下數,得數即為天干順序數,若餘數-3為負,則+10,得到的數即為天干數,若餘數為3,則為天干的最後一位,即癸。
地支:年份÷12,得到的商不管,看餘數,若餘數-3得正,則按地支順序往下數,得數即為地支順序數。若餘數-3為負,則+12,得到的數即為地支順序數,若餘數為3,則為地支的最後一位,即亥。
把天干數和地支數合併起來,即為所求的干支年份。
如:2001年查萬年曆為辛巳年,演算法為:
2001÷10=200……1,1—3=—2,—2+10=8,按天干順序數到8,甲、乙、丙、丁、戊、己、庚、辛。第8位為辛。
2001÷12=166……9,9—3=6,按地支順序數到6,子、醜、寅、卯、辰、巳。第6位為巳。
按照以上計算結果,把天干、地支合併起來可知,2001年為辛巳年。
▲干支紀年與格里曆的換算
若我們把天干的甲、乙、...、壬、癸編上 0、 ......、8、9 等序號;地支的子、醜、...、戌、亥亦編上 0、1、 ......、10、11 等序號,那麼:
從已知的格里曆年份計算干支紀年:年份數減4,除以10的餘數是天干,除以12的餘數是地支。例如:
(1972 - 4)÷ 10 ≡ 8,所以天干是“壬”;
(1972 - 4)÷12 ≡ 0,所以地支是“子”。
附:已知天干地支,如何得到當前是60年中的第幾年 (楊霖坤 程式設計)。
X=天干 Y=地支
if x - y >= 0 then
z = 6x - 5y;
else
z = 6x - 5y + 60;
排出60甲子序列,將自己的虛齡生年放入其中,逆數上行即可找到相對公元年的干支是什麼了。或者比照當年或上年的干支,也能找出相應的你所需要的干支來。如你是1987年7月生人,只知道今年是兔年(丁卯)不知道87年是什麼干支,
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.癸亥
干支紀日的干支表
01 甲子 11 甲戌21 甲申31 甲午41 甲辰51 甲寅02 乙丑 12 乙亥 22 乙酉 32 乙未 42 乙巳 52 乙卯 03 丙寅 13 丙子 23 丙戌 33 丙申 43 丙午 53 丙辰 04 丁卯 14 丁丑 24 丁亥 34 丁酉 44 丁未 54 丁巳 05 戊辰 15 戊寅 25 戊子 35 戊戌 45 戊申 55 戊午 06 己巳 16 己卯 26 己丑 36 己亥 46 己酉 56 己未 07 庚午 17 庚辰 27 庚寅 37 庚子 47 庚戌 57 庚申 08 辛未 18 辛巳 28 辛卯 38 辛丑 48 辛亥 58 辛酉 09 壬申 19 壬午 29 壬辰 39 壬寅 49 壬子 59 壬戌 10 癸酉 20 癸未 30 癸巳 40 癸卯 50 癸丑 60 癸亥
干支紀日從哪一天是甲子日?
每年的陽曆8月22日干支都不一樣的 干支紀日法 甲子為第一日,乙丑為第二日,丙寅為第三日……60日為一週。一週完了再由甲子日起,周而復始,迴圈下去。例如農曆己巳年(1989年)正月初一是丁酉日,初二是戊戌日……到三月初七正好是60天,因此三月初二又是丁酉日。
天干地支怎麼紀月紀日紀時?
干支紀年、紀月、紀日和紀時的簡單計算方法 一.干支紀年 [方法一]公元1年的干支是辛酉,只要記住辛酉這一干支,即可簡便而又迅速地推算公元前後任何一年的干支。 1.求公元后年干支 幹:支取所求年分的個位數 支:以所求年分數目12,取其餘數。 然後,以辛酉為起點,按干支順序依次推出年乾和年支(正推)。 逆干支順序而推為反推 例1:求公元1846年的干支 幹:6(1846年的個位數是6) 支:10(1846÷12,得餘數為10) 以辛酉為起點(即1),正推,得1846年的干支是丙午 附註:如干.支數為0,則取辛酉的前一個干支,即庚申。 例2:求公元2050年的干支 幹:0-庚 支:10(2050÷12餘數10)-午 2050年為庚午 2.求公元前年干支 演算法與上法一樣,只是要反推,即逆干支順序而推,或用10和12分別減去原得數後再正推。但要注意,此時起點與上法不同,以辛酉為0,反推時以辛酉前一干支即庚申為起點(即1),正推則以辛酉的下一干支即壬為起點。或直取公元前負數即可。 例如:求公元前231年的干支 [方法一]幹:1 支:11(231÷12餘數11) 11為反推時的干支數,只要直取表內公元前負數即可,即為庚戊。如要正推,則還要用10,12減去此二數。即幹為10-1=9,支為12-11=1。結果為庚戊。 [方法二]如不以辛酉作起點,也可以任何一個已知年干支為起點推算。一般可以當年為起點。方法: 以所要求的年數減去已知年數(或當年),得數的個位數即為年幹數,得數除以12所得的餘數即為年干支數。干支數為正數時正推,為負數時反推,或按[方法一]中方法變為正推。應注意的是已知年干支作0,正推時以已知年干支的後一干支為1,反推時以已知年干支的前一年干支為1。 例如:已知1985年是乙丑年,求1999年的干支。 1999-1985=14 幹:4 支:2(14÷12餘數為2) 按乙0丙1······的順序正推得年幹為已,按醜0寅1······的順序正推得年支為卯,故1999年為已卯年。 又如:求1932年的干支 1932-1985=-53 反推干支數:幹:10-3=7 支:12-5=7 結果:1932年的干支為壬申。 二.日干支計演算法 [方法]以某一個已知日干支作起點(我們去大家易記住的1984年元月1日的干支甲午)。 (1)將所求的年.有.日的數目分別減去1984年1月1日的數目,得年差.月差.日差,並算才閏年數.大月數.二月數(注:所求年大於1984年的這樣減)。 (2)(年差×5)+(月差×30)+日差十閏年數+大月數-(二月份數×2)得總日差。 (3)總日差的個位數為日干數,總日差除以12所得餘數為日支數。 例如:已知1984年1有1日是甲午,求1999年9月10日的干支。 ①1999.9.10 1984.1.1 ----- 15.8.9 閏年數:4(15年中閏三次,加上1984年本身是閏年) 大月數:5(從1月到9月有5個大月) 二月數:1(從1月到9月只有一個2月) ②15×5+8×30+9+5+4-1×2=331 幹:1 支:7(333÷12所得餘數為7) 以甲午作起點其干支數作0.0,其後之干支序數依次為1.1.2.2.3.3······由此推得1999年9月10日是乙丑日。 若所求之年小於1984年,計算步驟與原理與上同,但須注意幾點。 (1).必須以數大的1984.1.1減去數小的所求年.月.日。 (2).當月差為負數時,後面的大月數和2月數也要為負數。 (3).最後求出的干支數為正數時,用反推法,為負數時用正推法。當然......餘下全文>>