陰歷是以月亮繞地球一周為一個輪回,月亮繞地球一周叫“月”,在中國傳統歷法上,每月的第一天叫“朔”,每月的最后一天叫“晦”,《莊子》“朝菌不知晦朔,蟪蛄不知春秋”,是說朝菌活不了一月,蟪蛄活不了一年,無法感受時間的輪回與變遷。每月的十五、十六是月圓之夜,十五叫“望”,十六叫“既望”。蘇軾《赤壁賦》“七月既望”,就是農歷的七月十六。月亮繞地球一周大概需要29.53天。那個小數點被天文學家巧妙的安排成大月30天,叫“大盡”,小月29天,叫“小盡”,基本上是大盡與小盡間隔。每年的除夕在民間叫大年三十,其實很多年份里的“大年三十”是“大年二十九”,第二天就是大年初一。世界上伊斯蘭歷就是以月相變化來推斷,所以伊斯蘭教有豐富的“月”文化。
陽歷是以地球繞太陽公轉一周為一個輪回,叫“年”,地球繞太陽公轉一周需365.2425天,這個數字很有意思,0.24天,基本上每4年多出將近一天,于是有了“置閏法”,每隔4年就要多出1天,放在二月份的最后一天。可是如果以百年為計算單位,就閏了25天,而實際閏了24天,那么仍然會有誤差,于是天文學家又規定,末尾為00的年份要被400整除才算閏年。這樣誤差就小得多。中國在世界上對于歷法的研究遠遠比歐洲人精確。中國元朝時期郭守敬計算出的天文年只與現代計算機計算的數據差26秒,想想古人真是了不起。我國現在所用公歷是與歐美接軌,這種公歷是純陽歷,也叫格利高歷。產生于公元十世紀。對于太陽回歸年的計算,長時期被教會壟斷,老百姓只要遵守就行。
地球繞太陽一周與月亮繞地球一周的日期并不是整除的倍數。這里出現的誤差,也被天文學家巧妙的設置成“閏月”。早在漢朝張衡時期,就制定出“十九年七閏月”的置閏法。地球繞太陽一圈為一個近似圓,把這個近似圓進行24等分,就出現了中國傳統的24節氣,24節氣是以太陽回歸年為標準劃分的。于是每月就會出現兩個節氣,第一個節氣叫“節氣”,第二個節氣叫“中氣”,兩個節氣基本上相差15天。可是陰歷中出現15號為節氣時,而這個月只有29天,那么“中氣”就跑到下個月了,這個月就只有一個節氣,只有一個節氣的月份就是“閏月”。這樣太陽回歸年(陽歷)與月亮圓缺周期(陰歷)就完美地統一起來。在我國,這個揉合了陽歷和陰歷的歷法在清朝被推翻后,袁大總統給它起了個名字叫“農歷”。農歷在我國民間習俗中通常被稱為“陰歷”,其實是一種陰陽合歷。現在城市里都在使用公歷。但是農村仍有傳統習慣。
中國古代講究皇權“受命于天”,所以歷法的頒布就成了皇家專利,每年頒布一次日歷,叫“皇歷”。每年頒布的歷法陰歷和陽歷的日期對照與去年的都不相同,以致有“隔年的皇歷看不得”的說法,它既包含了兩種歷法的不同算法,也隱含了“事物在發生變化,不能用老眼光看新事物”的哲理。