
“陰歷”,是根據月相圓缺變化的周期,即“朔望月”而制定的歷法,因月亮古稱太陰,故陰歷又稱“太陰歷”。
古人很早就認識到月亮有非常規律的圓缺變化,這個規律就是大約29.5天的周期,于是古人就很聰明地把月亮圓缺變化的規律來記錄比“日”更長一些的日期,就是陰歷的“月”,而且采用大、小月交替,即大月30天,小月29天,平均下來就是29.5天。這樣既符合了月相,也滿足了月亮圓缺的變化周期,使得任何一個陰歷月里的月相(圓缺)變化都是一樣的,即朔(初一)那天是看不見月亮的,隨后每天見到彎彎的月亮一天天飽滿,到望(十五或十六)就變成圓圓的滿月啦。
陰歷對晝夜的計算,以日落為一天之始,到次日日落為一日,通常稱為夜行前,即黑夜在前,白晝在后,構成一天。因每月天數不能有奇零,故陰歷一個月為29日或30日。每月以合朔之日為首,即以朔日為初一日。每年以正月(雨水節氣所在的朔望月)的朔日為歲首。
單純的陰歷,能跟月相很好地吻合,不用日歷只看月相就知道是陰歷月中的哪一天。但也有一個缺點,就是單純的陰歷一年(12個月)的長度比回歸年短,也就是12個陰歷月的長度通常是354天多,而回歸年的長度(即太陽在太空沿黃道運行一周的時間)是365天多。如果單純使用陰歷很快就會與季節對應不上,因為季節取決于太陽,其周期是與回歸年對應的。

斗建,是中國古代歷法中的一個重要概念,指的是通過觀察北斗星的斗柄指向來確定四季和年月。在古代,人們首先發現在不同的季節,黃昏時北斗星斗柄在不同季節指向不同,斗柄東指為春,南指為夏,西指為秋,北指為冬,一年一輪回。這種方法可以追溯到《淮南子·天文訓》和許多古天文典籍,其中詳細描述了北斗星與季節的關系。后來人們又進一步發現斗柄指示的方向可以細化為十二月,并與指示地面方位的十二地支(正北為子,依次為丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)結合,發展出十二月建(地支紀月)的表達方法。例如,正月指寅,稱為建寅之月;二月指卯,稱為建卯之月,以此類推。


夏歷,與黃帝歷、顓頊歷、殷歷、周歷、魯歷合稱古六歷,都是已經失傳的古代歷法,但對后世影響很大。夏歷,傳說是中國夏朝時期創建的歷法,現在只能從一些古籍上了解其大概的內容。古六歷的主體都是以朔望月為基礎的歷月規則,以太陽在黃道運行一周365又1/4日為一回歸年。古六歷中各歷的差異主要是歷元、實行地區等有所不同。夏歷的起始以春季一月為正月。
古六歷每月都有名稱,一般起始月都叫正月。正月定在何時,歷史上各歷法中不盡相同。夏歷以春一月為正月,相當于地支紀月的建寅之月;商歷以冬十二月為正月,相當于在地支紀月的建丑之月;周歷以冬十一月為正月,相當于地支紀月的建子之月;秦歷(顓頊歷)以冬十月為正月,相當于地支紀月的建亥之月。這就是夏歷建寅、商歷建丑、周歷建子、秦歷建亥等說法的由來。

農歷,源自夏歷等古代歷法(一段時間被稱為夏歷,但不能與古代夏朝之歷混淆),后經歷代演進,屬于一種陰陽合歷,它的平均歷月為一個朔望月周期,這一點與陰歷規則相同,所以有陰歷的成分;另一方面它的歷年為一個回歸年的長度(太陽在黃道運行的周期),并設置二十四節氣以反映季節特征。所以農歷既有陰歷成分又有陽歷成分,故稱陰陽合歷。
中國在民國前一直采用農歷,為了與民國元年采用的新歷法(即公歷)相區別,所以后來稱為“舊歷”(或夏歷)。社會上通常會以為陰歷適合于農事,故稱為“農歷”,其實陰歷和農歷是有區別的。而與農業生產更為貼切的是二十四節氣,所以有人稱農歷二十四節氣,是指農歷中的陽歷成分。