十天干，十二地支，早在商代甲骨文裡已出現了。它首先用於紀日，然後用於紀年。現分述如下：
(一)紀日。在商代甲骨卜辭中，刻有完整的六十甲子，證明殷商時期已有紀日用的干支表。這種紀日方法比較簡單易行，適合大月、小月，閏年、平年，而且十分準確。這種紀日法為後世沿用，至近代才逐漸少見。
(二)紀年。從馬王堆出土的帛書可以看到，戰國時期已用干支來紀年。到了東漢，干支紀年正式頒行，後世一直沿用，例如「戊戌變法」、「中日甲午戰爭」、「辛亥革命」就是以干支來命名。西漢以前的干支紀年，則是後人推算而加上的。干支紀年的優點是周期較長，符號簡單。但中國歷史悠久，朝代更迭，單用干支紀年容易混淆，所以史籍常將干支和年號相配合。如稱貞觀丁亥、康熙甲辰、嘉慶甲子，通過有關曆表，可以分別查知年份。
(三)紀月。早在商代，人們把黃道(太陽周年運行的軌道)附近的天空分成十二等分，即十二宮，用十二地支(當時還沒有地支這一名稱)命名。又因為太陽經過每一宮的時間為一個月，便以十二地支紀月。春秋戰國時期規定十二月名稱為：寅、卯、辰、巳、午、未、申、酉、戌、亥、子、丑。月的地支固定了，再配以天干，便用以紀月。這種方法五年(六十個月)為一周(但閏月的月份沒有干支)，周而復始。
中國的紀年，天干地支始於何時，至哪個朝代才正式定為十二生肖？
天干地支的來源：
相傳黃帝時代，因有蚩尤神擾亂，黃帝憂民之若，遂與蚩尤大戰於涿鹿之野，流血百里不能治之，黃帝於是齋戒沐浴、築壇祀天、方丘禮地。天乃降十干(即甲乙丙丁戊己庚辛壬癸)。十二支(即子丑寅卯辰巳午未申酉戌亥)。帝乃將十干圓佈像天形，十二支方佈像地形，始以干為天，支為地，然後乃能治之。後有大撓氏將十天干、十二地支分配成六十甲子，並以黃來開國日定為甲子年、甲子月、甲子日，甲子時。此為天干地支之由來。
中國殷商時代發明記日的發法,也就是一種曆法,60為一ㄍ週期.以下是我找到ㄉ資料：
天干是：甲、乙、丙、丁、戊、已、庚、辛、壬、癸也叫十天干；地支是：子、丑、寅、卯、辰、巳、午、未、申、西、戍、亥，也稱十二地支。干支還有陽陰之分：甲、丙、戍、庚、辛、壬為陽干，乙、丁、已、辛、癸為陰干；子、寅、辰、午、申、戍為陽支，丑、卯、已、未、酉、亥為陰支。以一個干和一個地支相配，排列起來，天干在前，地支在後，天干由甲起，地支由子起，陽干配陽支，陰干配陰支（陽干不配陰支，陰干不配陽支），共有六十個給，稱為“六十甲子”。我國人民過去就是以六十甲子循環來紀年、紀月、紀日、紀時的。
另一個十二生肖出現的原因，可能是古代文盲的人比較多，古人以子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥等十二地支，與天干相配，組成六十甲子，但由於子、丑、寅、卯等字都比較難記，人們就利用不同的動物名來代表十二地支，這樣就更加顯淺和生動了。