天干[註 1],或稱十干,是中国古代的一种文字计序符号,表示“次序”或“等第”。天干共10个文字:甲、乙、丙、丁、戊、己、庚、辛、壬、癸,循环使用。中国等漢字文化圈國家古代常以之来命名、排序、纪时。
天干之名來自《白虎通》以天干為主幹,地支為枝葉,稱「甲乙者,榦也;子丑者,枝也」。《白虎通》的說法又來自《淮南子》「數從甲子始,子母相求」、《史記》「十母十二子」,從「母子」之義演變而來[1]。史記的十母就是指十天干,十二子就是指十二地支。
干支最早的名稱大概是《呂覽》所稱的「甲子」[1]。《世本》和里耶秦簡中也只取首字稱為甲子[2]。以甲子稱之,或許是因為早時還不存在一個專用名稱[1]。另外古文獻中也常以「日」稱天干,「辰」稱地支,並可追溯至《左傳》、《國語》、《儀禮》、《周禮》[3]。
古人將干支的來歷遠推至三皇五帝。最早出處來自《世本》、《呂覽》,稱「大撓作甲子」[4][5],據《呂覽》大撓為黃帝之師。東漢經學家鄭玄[6]、蔡邕都採信此說,蔡邕謂:「帝命大撓探五行之情,占斗剛所建,於是始作甲乙以名日,謂之幹,作子丑以名月,謂之枝,枝幹相配以成六旬。」[4]。這段話的意思是,黃帝命大撓探察五行之情狀,以北斗七星斗柄(粤语:斗柄)(又稱為斗綱、斗罡、斗杓)所指向的十二辰方位[7],來決定現在所在的月份(稱為「月建」,斗柄所指為「建」)。以天干紀日,是為主幹;以地支紀月建之辰,作為旁枝。兩者依次相配紀日,至最小公倍數六十完成一個循環周期。
《後漢書》[8]、《宋書》[9]、《五行大義》、《晉書》[10]、《尚書正義》、《軒轅黃帝傳》[11]、《資治通鑑外紀》[12]等,都引述、繼承了蔡邕的說法。宋代命理書《淵海子平》更擴大《世本》、《呂覽》之說,稱黃帝遇蚩尤神擾亂,於涿鹿之野大戰後,血氣瀰漫,無法治其凶煞,「於是齋戒築壇祭天,方丘禮地。天乃降十干、十二支」,黃帝用天干地支象天法地,加以佈置,才成功鎮服,而後大撓氏將之配成六十甲子。
漢代讖緯書《春秋命歷序》則是說天皇兄弟十三人「作干支以定日月度」[13]。北宋史書《資治通鑑外紀》也繼承這種說法,稱天皇「始制干支之名,以定歲之所在」。不過,漢代以後才開始用干支紀年,所以此說只是以後釋古[14]。《通鑒外紀》另稱「伏羲作甲曆定歲時 」。《山墳》稱伏犧氏「命臣潛龍氏作甲曆」。《路史》小注引陳鳴《曆書序》:「伏羲推策作甲子」。羅頎《物原》稱「伏羲始造干支甲子」。這些說法將曆法和干支的發明推至比黃帝更早的伏羲,不過都出自北宋以後才流傳或編纂的書籍。
不管是黃帝、天皇或伏羲,這類說法都是以古代渺不可知的聖王、賢人作為事物制度的發明開端[5],後人已無從考究。但大體能看出古人將干支的發明和天文觀測、曆法制定聯繫在一起。蔡邕的說法更顯示十干是紀日、十二地支是紀月建之辰[3],兩者應是獨立的記數系統。之後將其依次相配,才從十干紀日,變成六十干支紀日。
就目前所能獲得的考古資料,天干和地支在殷商時期已得到普遍運用。甲骨卜辭的占卜日期就是以干支紀日表示,如丙寅卜、癸酉卜之類。在出土的龜版中更有「甲子表」,將天干地支六十甲子的完整週期,從右到左、上下豎行排列[15][16]。商朝君王及王后的名號也有用天干加以命名的慣例,如太乙、盤庚、武丁、母辛等等,其所祀先王從上甲微至主癸,亦以天干名之。
郭沫若在《甲骨文字研究·釋支干》中,主張天干源自十進位記數法,大概是殷人創製。地支源自十二辰,演變自古巴比倫的黃道十二宮。不過,郭沫若對後者如何傳至中國的途徑,只提出一些猜想,尚未有確切根據[17]。吳宇虹反對郭的外來說,指出郭給出的蘇美星名、月名與《爾雅》歲名、月名對照,其讀音配對十分勉強或相差甚遠,而且巴比倫和古中國天文學有許多不同特點,如十二辰和十二宮方向不同,兩者當是各自起源[18]。有些學者認為干支的創製,尚可進一步追溯至商朝以前。張秉權認為「干支系統的建立,要比盤庚遷殷的時代,早得很多很多」,因為殷商時代已純熟地運用干支。而且甲骨文的干支紀日,往往只用天干作為省稱,意味者天干紀日應是干支紀日的雛型,地支本不紀日。中國古代十日並出的神話或來自天干紀日法的發明,與「旬」的觀念十分密切[1]。陳遵媯在《中國天文學史》中提出「在四千多年前的夏代,可能已有干支產生了」。鄭文光在《中國天文學源流》中,將干支的產生和羲和、常羲的神話聯繫起來,並認為天干產生於漁獵時代的原始社會,起自十進位法,地支是夏人的創作,起自十二辰。杜石然等在《中國科學技術史稿》主張夏代已有天干紀日,商代加入地支,形成六十周期的紀日法[17]。
綜合這些看法,可以認為「天干」的發明是在商朝,甚或更早的時代,可能是來自於人類用十進位記數法計算事物的普遍習慣。以十個「文字符號」依序表示十個日數(一開始可能是原始的雛形文字,後來發展為成熟的語素文字),以十日為一個週期循環(甲日至癸日)就成了天干。地支紀十二辰的記數系統也在後來加入,原本十日一個週期就擴大為六十日一個週期(甲子日至癸亥日)。
天干用十個文字符號「甲乙丙丁戊己庚辛壬癸」依序標示十個日數,這些文字符號的本義大都已無法知悉。裘錫圭指出在原始社會晚期的記號裏可以找到形狀相同或極其相似的例子,天干可能是從這種記號裏吸取過來的[19]。張秉權認為遠古時代人們不懂紀日,後來才用某些事物作為代表某一日的符號,漸漸形成了十干紀日的方法。干支各字的本義與序數並不相干,原義已為後人所遺忘[1]。
古人認為這十個天干字代表「萬物興衰循環的過程」[20]或「從頭至腳的人身部位」[21]。許慎的《說文解字》是用小篆的字形解釋並雜以陰陽五行之說,今人則從甲骨文、金文之字形樣貌和構造試圖解釋其本義,不過很多字仍是眾說紛紜,沒有定解或確解[1]。
天干用于纪时超出10即会重复,地支用于纪时超出12也会开始重复,用天干和地支组合纪时可以减少重复,从而避免混淆。中国古代采用了一种类似拉链的干支组合,一边链齿是循环的天干,一边链齿是循环的地支,最终可以出现两者的最小公倍数即60个组合,所以出現一甲子=60年的說法。
天干是十进制,容易直观地计算;地支是十二进制,在记录时辰和月份方面具有优势;干支组合是六十进制,适合间隔较密(纪日)和不要混淆(纪年)的情形。中国古代灵活地使用天干、地支之干支组合来表达年、月、日、时辰,这样就出现了所谓的生辰八字。
天干的十个符号按其自身的含义可以与五行的五个符号和五方进行匹配。
天干也有陰陽之分:
天干有五個組合,而這種天干組合之後,會變化成另一種不同的五行,因此會產生不同的較應。除了化合之外天干還有互相沖剋,故此亦會產生不同的效應。
由於天干具有甲、乙、…、癸的固定順序,所以可作為代號使用,類似於第一、第二、…、第十;用盡天干後,再使用12個地支。因為天干地支只有22個,所以羅馬字母次序最後的「w」、「x」、「y」及「z」沒有天干地支對應;遇到「w」、「x」、「y」及「z」,就分別用「物」、「天」、「地」及「人」。[30]另一方面,天干也能作為名目之用,僅視其代稱,不代表其順序。
注:中古汉语的字母标音基于中古汉语现有拟音上制定的拼音,词尾x,h为音调,分别对应上声和去声。
令教以甲子、算、馬、大襍
竹簡《揕輿》:『日、辰、星若皆不吉,其期七日;若半吉,其期三月;若皆吉,其期卒歲』。……「日」即指十干, 「辰」為十二支,「星」為二十八星宿
已停用:檀君紀元、大韓民國紀年