用公式推算春節日期

春節在1月,下年春節遲19天;春節在2月,下年春節早11天。用這公式推算明年到2035年這20年的春節日期,大多數年份準確無誤,其中只有4年出現遲或早1天的誤差。
兩星期前在本欄介紹過「漢奇—亨利固定曆法」(Hanke-Henry Permanent Calendar)。該曆法的倡議人說,採用了它,每個日子便都固定在星期裏的同一天,所以不需要每年編製新日曆。這說法不適用於香港,因為香港有若干重要節日如春節和中秋等,都是農曆而不是公曆裏的固定日子。
農曆是陰陽曆,兼顧月球和地球的公轉周期。月亮運行至太陽和地球中間,在地球上看不見,叫做朔;月亮運行至地球另一邊,地球上看到月圓,叫做望。農曆每月初一都是朔日,每月15是望日。月亮繞地球一周為一朔望月,平均有29天多一點;地球繞太陽一周為一回歸年,有365天多一點,比12個朔望月多了差不多11天,每19年累積共多了約209天,很接近7 個月。所以農曆每19年設7個閏年,各比平年多1個月。

節氣的淵源

在地球環繞太陽公轉的軌道中定出距離相等的24個位置,稱為節氣,各有名稱。節氣之間相隔約15天,公曆每個月有兩個節氣;農曆的朔望月當中有的只有一個節氣。農曆19年裏剛好有7個月只得一個節氣,跟閏年的數目相同,於是把這些月份定為閏月。
公曆1月的兩個節氣叫小寒和大寒,2月的是立春和雨水。農曆規定,每年的正月初一(春節)是最接近立春的朔日,即春節一般不會早於大寒(公曆1月20日)或遲於雨水(公曆2月19日)。1985年2月20日是乙丑年春節,例外地在雨水後一天。這是因為乙丑之前的甲子年是閏年,有13個月;甲子年最後一個月的最後一天,已是雨水。
同樣,去年1月31日開始的甲午年也是閏年,它的第13個朔望月即12月的初一,是今年1月20日;下一個朔日2月19日才是接着的乙未年春節。乙未是平年;12個朔望月之後,就是明年2月8日,即明年春節的日子。
如果某年春節落在公曆1月,下一年的春節必在立春之後,即該農曆年包含了兩個立春,且有13個朔望月,是謂「雙春兼閏月」。另一方面,如果春節在立春之後,且在公曆2月15日之前,就是沒有立春的「盲年」,因為下一年將於立春前開始。明年2月8日開始的丙申年,就是盲年。

用公式計算春節日期

用今年春節在公曆上的日期去推算明年春節的日期,有一個十分簡單而相當準確的公式。
12個農曆朔望月共有約354天,比陽曆的回歸年短了11天。即是說,如果在今年春節十二個朔望月之後的第一天是明年春節,那末明年春節在公曆上的日期便比今年早11天。一個實例:今年(2015)春節的日期是2月19日,明年(2016)的春節便提早11天到來,即2月8日。
不過,春節須是最接近立春的朔日,即與立春距離不會超過15天(少數情況例外,見上周四本欄)。由於立春通常是2月4日(也可以是2月3日或5日),如果某年的春節在1月,不論是那一天,比立春最少要早4天;12個朔望月後的朔日再提早11天,已超過了春節與立春的距離上限。所以春節只能是下一個朔日,即前一年是有13個月的閏年,多了29或30天,比陽曆回歸年長了18至19天。
在大多數年份,如果春節在1月,翌年的春節在公曆上的日期便會比當年遲19天。實例:去年(2014)春節是1月31日,今年春節就是2月19日,比去年恰好遲19天。
所以有這樣一個簡單的推算公式:春節在1月,下年春節遲19天;春節在2月,下年春節早11天。如果計算的公曆年份是閏年,即有366天,比13個朔望月短18天,比12個朔望月長12天,故以上的調整天數要相應改為18天和12天。例如春節在2020年是1月15日,2021年是2月12日,遲18天;2024年是2月10日,2025年是1月29日,早12天。

公式計算準確度高

用這公式推算明年到2035年這20年的春節日期,大多數年份準確無誤,其中只有4年出現遲或早1天的誤差。
農曆每19年是一個循環:今年春節是2月19日,19年前(1996)和19年後(2034)的春節也是2月19日;去年春節是1月31日,1995和2033年的春節也是同一個日子。憑這規律可知年份較遠的春節日期,不用逐年推算。這循環規律並非絕對準確,例如2016年的春節是2月8日,19年後2035年的春節也是這個日子,但19年前1997年的春節卻是2月7日,早了1天。曆法畢竟不是依循嚴格的數學公式的,不過,在循環裏位置相同的年份,農曆和公曆的對照日子大部分還是相同的。

曾鈺成