十二生肖在秦代還與漢代以後的十二生肖有一定差異,但十二生肖的起源可能要比戰國時期早得多。
《世本?作篇》說:“黃帝使羲和作占日……大橈作甲子……”如果黃帝的時代已經出現幹支紀時,那麽十二生肖的起源或可追溯到中國古史的傳說時代。不過,當時可能沒有係統的、與後世的十二生肖基本一致的十二屬相,但後世十二生肖中的一部分大概已經在孕育之中了。
《史記?五帝本紀》載:“黃帝二十五子,其得姓者十四人。”《國語?晉語四》:“黃帝之子二十五人,其同姓者二人而已。唯青陽與夷鼓,皆為己姓……其同生而異姓者,四母之子,別為十二姓。凡黃帝之子,二十五宗,其得姓者十四人,為十二姓:姬、酉、祁、己、滕、箴、任、荀、僖、?、儇、依是也。”
黃帝後十二姓中,姬姓居於首位。姬姓的周族後來建立周王朝。周族使用周曆、周正建子,將子月作為正月。姬姓在十二姓中排在第一位,姬姓的周人又把十二辰中的“子”排在第一位。十二姓中的姬相當於十二辰中的子。
十二姓中的酉,在後來的十二生肖中與雞對應。
十二姓中的僖和己(巳),經聞一多研究,應是龍、蛇族。
十二姓中的荀,王引之認為應作苟,徐旭生從其說,苟即狗。
十二姓中的儇可能是猿。
這樣看來,黃帝後十二姓中,可能有以龍、蛇、猴、狗、雞為圖騰、為姓的。又有重視十二辰中的“子”的姬姓。後來的十二生肖中,鼠排在第一位,與“子”相對應,如果與上古之世的黃帝後十二姓對照,則恰相應於姬姓的位置。
這些情況並不等於生肖已經出現,但十二生肖很可能從這時就開始孕育了。
對照民族學的材料來看,十二獸曆法應起源於原始時代的圖騰崇拜。
十二生肖不大可能同時出現。人們在很多的圖騰中,經過長期的選擇,最後選定了十二種動物作為紀時的名稱。在選擇過程中,很可能有過選定某種動物為生肖,後來又用另一種動物代替它的事。如前邊談到《雲夢秦律》中以鹿與午對應,而後來的生肖中隻有“午馬”而沒有“午鹿”,說明不同地區的生肖不完全統一,秦人或許以鹿為十二生肖之一,這樣在秦人及後裔,對十二生肖的再選擇中,馬又取代了鹿。
從黃帝後十二姓中有蛇族(己姓),戰國至秦代的生肖中確有巳蛇(蟲)等線索推斷,十二生肖中的蛇生肖出現得比較早。
係統的十二生肖出現並且穩定下來,不再變動,時為漢代。以後十二生肖廣為流行,長盛不衰。