十二生肖或十二兽与十二地支相配:子为鼠,丑为牛,寅为虎,卯为兔,辰为龙,巳为蛇,午为马,未为羊,申为猴,酉为鸡,戌为狗,亥为猪。这说明两者有十分密切的关系。然而,究竟先有十二地支还是先有十二兽呢?
在中国历史上,最早的是以十天干纪日法,即用甲、乙、丙、丁、戊、己、庚、辛、壬、癸十个字来纪日。据研究,夏代后期的几个帝王使用“孔甲”“履癸”等名号,说明夏代已用十天干纪日。十天干纪日法是一种比较简单的十进法,世界上不少原始民族都存在过十进法。人有十个手指,所谓扳着指头算,是最古老的记数法之一。
其次是干支纪日法。据现有资料,商代已使用干支纪日法,在一块武乙时期(约公元前13世纪)的牛胛骨上,刻画着完整的六十甲子。这说明干支纪日起源很早,同时也说明在商代十二地支便已产生。一般认为,先有干支纪日法,而后才有干支纪年法。如前所述,商代还没有发现以十二兽纪历法,这说明十二兽记历法形成于商代之后,同时也说明十二地支早于十二兽,十二兽的起源与十二地支有密切的关系。
十二地支通称十二辰。十二辰如何产生,古今学者探讨不少。
其一认为十二辰由十二肖兽而来,即先有十二肖兽,而后有十二辰。如:有人认为“巳为它(蛇)”“亥为豕”等。但在甲骨文中没有十二兽的记载,只有十二辰的记载,足以说明十二辰源于十二兽的说法不能成立。
其二,十二辰来源于一日十二时的划分。顾炎武说,“古无一日分为十二时”之事。赵翼说:“一日十二时始于汉。”如前所述,十二辰早在商代便已出现,说明十二辰的起源与十二时无关。
其三,有的学者认为十二辰渊源于十二月的划分。据古代历法,十二辰与十二月相配,并不是各按顺序,而是以寅为正月,卯为二月,辰为三月,巳为四月,午为五月,未为六月,申为七月,酉为八月,戌为九月,亥为十月,子为十一月,丑为十二月。郭沫若认为,持此说者“均以转注之法为牵就,其非十二辰古义……纯是臆说矣”。并认为:“以十二辰配十二月之事即始于汉人,于汉以前实未有见……古纪月之法自卜辞至于殷周彝器均以正或一至十二或十三之数目,从无以十二支纪月之事,更无以甲子纪月之事。”并断言:“古之十二辰决非十二月之符号。”
日本天文学家新城新藏博士在其《东洋天文学史研究》一书中认为:“以仲冬十一月为子,季冬十二月为丑,孟春正月为寅,此决非古之分配,为时必在春秋中期以后。”他还认为,殷代的十二支“则必以孟春正月为子,仲春之月为丑,季春三月为寅”。而郭沫若否定此说,他认为:“十二支文字既为殷人所造,且为表示十二月之符号而造,则卜辞纪月之法,自非用子月、丑月、寅月不可。然而卜辞出土者二三万片,其已著录者亦将及万,纪月份之片数不少,而独无丝毫以十二支纪月之痕迹。卜辞无之,古金(文)中亦无之,即秦汉人于实际上亦无此用法……此古人无十二支纪月之事实,实为十二支即十二月说碍难通过之第一关门。”
其四,十二辰源于十二宫。郭沫若在分析了大量的史料后得出结论:“一、十二辰乃固定于黄道周天之一环带,与天体脱离;二、后进者乃十二等分,每辰各30度;三、十二辰依子、丑、寅、卯之顺序由东而西(即由右而左),与日月五星之运行相反,故古用岁星纪年时,有太阴太岁之虚设以为调剂。由此三事可知中国古代之十二辰实无殊于西方之十二宫。其顺序之逆转者乃十二支之顺序如是,十二辰环带围绕周天,其次自无终无始,无顺无逆。”
以上种种资料表明,十二地支起源极早。从目前的资料来看,最早的十二生肖或十二兽的记载是春秋战国时期,因此十二地支应早于十二生肖或十二兽。大概由于干支纪年法不易记,可能主要用于朝廷和知识阶层,而十二兽纪年法较易记,所以民间后来主要采用十二兽纪年法。