八(總107 )、子午流注及靈龜八法都要用到日時,請問日干支及時干支有何速算法?

答:翻閱各地近十幾年來之中醫期刊,所謂「干支速算」之論文不下數十篇,不是查表,就是以幾個公式層層轉換,或先背誦幾個元旦干支代入歌訣,記憶並不簡單,推算也未能快速多少。如此時正在外面,沒有攜帶萬年歷,或臨時起意要用子午流注,則無從運用。推算時干支關鍵在於先知道日干支,關於時辰之算法較為簡單,只要知道日干,就不難算出時干支了。個人因教授易理八字,並以之推測體質,十餘年來以下列公式推算日干支,尚稱迅速。

公式A:〔5(x-1)+((x-1)/4)r+15+y〕/10=餘數即為日干
公式B:〔5(x-1)+((x-1)/4)r+15+y〕/12=餘數即為日支 

解說:Y是從該年元旦至該年該日之總數,X為公元年後二位數,(如果是公元2000年以後,則改為公元三位數即100、101……等), r是整數之意,只要整數,不管餘數。上述公式雖列兩個,其實只算是一個,也就是除十(干有十)及除十二(支有十二)之不同而已。

求出商數後,A之餘數可按1甲、2乙、3丙、4丁、5戊、6己、7庚、8辛、9壬、10或0癸得知日干。B之餘數可按子1、丑2、寅3、卯4、辰5、巳6、午7、未8、申9、酉10、戌11、亥12或0之順序得知日支。

例如: 
(1)求公元2005年3月1日之干支? 
代入公式: 
日干:〔5(105-1)+((105-1)/4)r+15+(31+28+1)〕/10= 
520+26+15+60=621/10=621
日干:〔5(105-1)+((105-1)/4)r+15+(31+28+1)〕/12= 
520+26+15+60=621/12=519
由日干之餘數1,得知日干為甲。由日支之餘數為9,得知日支為申,則2005年3月1日之日干支為甲申

(2)求公元2010年5月1日之干支?
日干:5×(110-1)+(110/4)r+15+(31+28+31+30+1)=545+27+15+121=708/10=70餘8…日干 
日支:5×(110-1)+(110/4)r+15+(31+28+31+30+1)=545+27+15+121=708/12=59餘0…日支
由日干之餘數8,得知日干為辛。由日支之餘數為0,得知日支為亥,則2005年5月1日之日干支為辛亥

至於時干支如何推算,只要知道日干支,就不難推出。由於一日之中有十二個時辰,五日計六十時辰,正合六十甲子之數,所以逐日時辰的干支,每隔五天,正好轉輪一周,試以甲日之子時從甲子時算起,到戊日的亥時為癸亥時,己日的子時又從甲子時開始,其他各日時辰的干支亦各固定。因此,只要知道每天所屬的天干,則當天各時的干支就不難推算。茲附日上起時歌,以便記誦。

日上起時歌有兩種。一種從子時起推排,稱為五子建元法;另一種從寅時起推排,稱為五虎建元法,一般以五子建元法為主推算即可。

五子建元日時歌

甲己起甲子 乙庚起丙子 丙辛起戊子 
丁壬起庚子 戊癸起壬子 以陽干剋化 
即:甲、己日――甲子時起算 
乙、庚日――丙子時起算 
丙、辛日――戊子時起算 
丁、壬日――庚子時起算 
戊、癸日――壬子時起算 

按上述歌訣推算逐日各時的干支,可查當日子時所屬的天干是什麼,然後依例排列。例如乙日的子時是丙子,則丑時為丁丑、寅時為戊寅……等等;又如辛日的子時為戊子,則丑時為己丑、寅時為庚寅,卯時為辛卯、辰時為壬辰等,餘均仿此。