属相是什么时候开始的,笔者没有仔细探讨,但可以肯定,属相的起源必须晚于干地。
古人以干支纪时,天干有十,分别为甲乙丙丁戊己庚辛壬癸,地支有十二,分别为子丑寅卯辰巳午未申酉戌亥。十天干与十二地支搭配排列,一个完整的循环为60序。当干支用于纪年时,从甲子年开始,到癸亥年结束,干支的一个循环就是60岁,其中地支的一个循环为12岁。古人把干支的一个循环称为“一辈子”,而把地支的一个循环称为“一轮回”,一辈子有5个轮回。我国古代没有现在的公元纪年,采用的就是干支纪年。古人为了便于更形象地记忆每个轮回中的每一年,就又创立了属相的说法,和十二地支配套使用。十二属相分别为鼠牛虎兔龙蛇马羊猴鸡狗猪,分别对应十二地支的子丑寅卯辰巳午未申酉戌亥。这样,就把地支对应的年份用这十二种动物来称呼,子年就称为鼠年,丑年就称为牛年,以此类推。一个人在什么属相年出生,那他的属相就是什么,这就是属相的来源。
从理论上讲,属相是从属于地支的,也就是从属于干支纪年的,而干支纪年是我国最古老的纪时方法。相邻属相是从什么时候交替呢?那当然是以年头岁尾为交替时间,岁尾延续上一个属相不变,而到新的年头就是下一个属相了。那么年头岁尾又是如何确定的呢?这就和历法有关了,就要看采用什么历法了。采用的历法不同,年头岁尾的日子就大不相同。
我国最早的历法是夏历,夏历是以北斗七星的斗柄所指方位来确定月份的。夏历以斗柄指在东北之隅所谓“建寅”之月为岁首。寅月就是孟春之月,包括立春和雨水两个节气,“建寅”就是指立春,“寅正”指雨水日,故夏历是以立春日为岁首的。夏历以立春日为岁首,那立春日当然就是夏历的属相交替日。《左传》所谓“夏数得天”,是说夏代的历数比较正确地反映了天象,所以孔子主张“行夏之时”。保存在《大戴礼记》中的《夏小正》,就是现存的有关“夏历”的重要文献。它按夏历十二个月的顺序,分别记述每个月中的星象、气象、物象以及所应从事的农事和政事。
古代有天改命则帝改历的传统,故历法常改,历法非恒道也。商革夏命,遂以“建丑”为岁首;周革商命,遂以“建子”为岁首;周室衰亡,秦统六合,遂以“建亥”为岁首;汉初沿用秦历,到汉武帝时,又改历重新以“建寅”为岁首……。我国历法几经修订,不知到什么时候,遂固化为现今的传统农历。农历是阴阳合历,一方面以阳历性质的二十四节气为主体,用以指导农业生产和相应所应从事的政事,另一方面又以月亮圆缺朔望的一个周期来确定月份,这就势必形成阴历性质的月份朔日和立春日相错位,从而难以确定岁首日。不过,这难不倒聪慧的古贤人,于是他们就把最接近立春日的某月朔日确定为岁首。也正因为如此,才又有了闰月的说法,有的年份为十二个月,而有的年份则为十三个月。
不同的历法有不同的岁首,不同的岁首就有不同的属相交替日,这是很正常的。不过一直以来,无论是民间还是官方,都是倾向于把立春作为传统岁首的,只不过受农历历法的限制,准不能为了以立春为岁首,从而把农历某月的不初不中的某一日作为新的一年的开始吧?所以只好把距立春最近的某月朔日作为正月初一,充当岁首,这是一种折中态度,其中就表达了岁首的确定离不开立春的意思。我们国家于2017年颁布的国家标准GB/T33661-2017《农历的编算和颁行》规定了农历从正月初一换年,这并没有错,因为农历就是以农历正月初一为岁首。我们国家现在使用农历,这是官方历法,其它历法也是客观存在的,只不过是不官方使用罢了,国家并没有禁止或否定其它历法。
属相是依附在地支上的,所以应该随地支的转换而更替,不过属相多在民间使用,官方在正式场合很少使用属相符号。民间使用属相,一般情况下遵循农历是对的,因为农历与我们的生活息息相关,而农历的岁首就是正月初一,没有统一的标准会造成误会和错乱。不过,在特殊情况下,比如涉及风水命理就不一样了,就必须按照夏历,以立春为岁首,以立春日为属相交替日。这是因为风水命理托名《周易》,而《周易》是以夏历为其所遵循的历法,所以当然要适用夏历,否则就是以今论古,驴唇不对马嘴了。
也许有人会问,《周易》循夏历,何以见得?《易·说卦传》曰:“艮,东北之卦也,万物之所成终而所成始也,故曰成言乎艮。”这里的“东北”就是指北斗斗柄指向东北之隅,时在冬春之交,具体讲就是立春之日。而北斗斗柄指向东北之隅,正是所谓的“建寅”之月。《说卦中》所谓“万物之所成终而所成始”,当然包括年岁之所成终而所成始,也就是年终岁首。后天八卦的艮位介于十二地支中的丑和寅之间,为丑终寅始,故为“建寅”之处。《易》以艮为终则有始,夏历以“建寅”为年终岁首,两者是高度一致的,故知《易》以夏历为其所循历法。
总而言之,属相什么时候交替,这要看依据什么历法,还要看使用属相的目的用途是什么。夏历以立春为岁首,当然以立春日为属相交替日;老皇历依古法,当然在这一点上等同夏历;农历以距立春最近的某月朔日为正月初一(岁首),当然以农历正月初一为属相交替日。因为农历是我国目前执行的传统历法,当然在一般情况下以农历正月初一为属相交替日,但涉及风水命理等特殊用途时,则应当以立春日为属相交替日。