二十四節氣是有關氣候、季節變化的產物,其起源必往前追溯。人類在長期的採集、漁獵活動中,要熟悉自然環境、季節變化、物候改變,以及動植物生長規律,這樣才能謀取一定的生活資料。其中最主要的便是太陽的東升西落、氣候的寒暑變化、月亮的圓缺、物候的變化。史前人類已積累了一定的天文曆法知識,後來農牧民族又將它發展起來。
中國遠在一萬年前後就發明了農業,到了新石器時代中晚期又出現了南稻北粟的分野。農業生產季節性很強,必須有一定的天文曆法知識,在河南鄭州大何村出土過一件繪有太陽紋的彩陶片,而且是十二個太陽紋,說明當時已知道一年有十二個月。
當然,從民族學資料看,遠古人類先知道東西方向,即太陽升落的方向,後來又知道了南北方向。
除了一年有十二個月外,還根據物候判斷更細緻的時間。明末清初的顧炎武就感歎道:「三代以上人人皆知天文」,他舉例《詩經》裡的句子「七月流火,農夫之辭也;三星在戶,婦人之語也;月離於畢,戍卒之作也;龍尾伏辰,兒童之謠也。」《隋書.西域傳》党項人「無文字,但候草木以記歲時。」二十四節氣正是根據太陽的運行,物候的變遷而發明的。
在商周時期,已經知道了一年內晝夜長短和正午太陽高度的變化。春秋時期已知利用土圭測量日影的長短變化,當時已有「二分」(春分、秋分)、「二至」(夏至、冬至)四個節氣。如《左傳》僖公五年:「凡分至、啟、閉,必書雲物,為備故也。」這就是說,每到「兩分」、「兩至」,便要將當時的天氣和物候記錄下來,作為準備農事活動的依據。
另外,又用土圭測日影確定節氣,土圭是一根直立的杆子,太陽照在杆子上,杆影投射於地,依據杆影長短、太陽高低來確定時辰和節氣。如夏至午時測定,太陽高,杆影短;冬至午時測定,太陽最低(偏南),杆影最長;過了冬至,太陽又漸升高,於是杆影又減短。年復一年,杆影最短與最長之時就定為夏至、冬至。以此類推,一年中有兩天白晝黑夜相等,這就是春分、秋分。從此,也開始流傳「春分秋分,日夜相等」的農諺。
到了戰國時期,又增加了「四立」,包括立春、立夏、立秋和立冬,出現了四季加上原來的「二分」、「二至」共八個節氣。以後又逐漸增加、發展,到了西漢時的《淮南子.天文訓》中已經形成了完整的二十四節氣。大多名稱以不耽誤農事為主要目的,是標準的農業社會的曆法。
《淮南子》相傳為西漢淮南王劉安所著。他養了許多門客,其中也有懂天文曆法的人,故在該書「天文訓」中對二十四節氣有詳實的記錄,其名稱和排序與現行的二十四節氣大致吻合。
從上述史實看出,中國早期便以土圭測定日影而確定夏至和冬至,後來將一回歸年的長度分為二十四份,從冬至開始,等間隔地依次相間安排各個「節氣」和「中氣」,這種方法稱為「平氣」。
依平氣的辦法,每一個月有一個節氣,一個中氣。但是兩個節氣的時間大於一個望月的時間,可能在一個月內有一個節氣,或者在一個月內有一個中氣,為此,西漢鄧平等在制定《太初曆》時,正式將二十四節氣列入其中,明確了二十四節氣的天文位置,同時,《太初曆》規定,節氣可以在上月的下半月或本月上半月出現,而中氣一定要在本月出現。如果遇到沒有中氣的月份,可以認定為上月的閏月。這種置閏的方法,沿用了一千年之久。
由於地球公轉的軌道是橢圓形的,太陽視運動有不均勻現象,這一點被北齊張子欣所發現。隋代仁壽四年(604年),劉焯在《皇極曆》中根據上述不均勻現象,對二十四節氣進行了部分改革,他將周天等分為二十四份,太陽移動到每一分點時就是到某一節氣的時刻。這種畫分法稱為「定氣」,肯定節氣間隔不均勻。定氣主要在曆法計算中使用,但在日用曆譜上依然使用「平氣」,直到清代才改為定氣。