中国古代的历法,民用历谱并不都是寅月为首(正月)的。夏历岁首是“寅月”,选择寅月有个好处就是离“立春”很近,在筹备春耕的时候总是更能提醒人,新的一年确实到啦!但是,真实的原因却不是这回事,而是为了对应北斗斗柄在冬天指向北的缘故。我们通过十二地支对应十二月,可知“子”位在北,“午”位在南。比如,“周正”:周历正月建子,岁首是夏历建子十一月,那么到了周历十一月就不是建子月了,也就与天象四季不符,周历十一月就不是冬天了。所以,周历冬至月不是十一月,也就不是冬天的,季节对应的并不太好。既然冬天的北斗斗柄指向北,那么子月应该是冬至月才对,但是,如果岁首选择夏历“子月”十一月,或者是“丑月”十二月的话,那么显然冬天的十一月、十二月就不可能是建子、建丑月了,这不符合天象。到了汉朝太初历,才把历法改过来,改作寅月为年首,这样,子月就对应十一月了。古代以“子”为北,斗柄指北时,正好是冬至附近,所以把“冬至月”定为“子月”时,北斗斗柄也正好能够指向北方,后面的丑月,寅月都用类似方法来指定。毕竟以寅月为正月,子月就是十一月,此时北斗的“斗指子,则冬至”,子月也是冬至月了。