首先,閏年的計算方法是“四年一閏,百年不閏,四百年再閏”,這就造成了在一些特殊年份,會出現八年一閏的現象。例如1896年為閏年,四年之後的1900年並不是閏年,直到再過四年之後的1904年才是閏年。也就是一般情況下年份能被4整除即為閏年,而整百年的年份要被400整除才為閏年。
▍用計算機語言描述的簡單的閏年判斷(為什麼是簡單的,後面詳述)
閏年的產生原理很簡單,如果地球繞太陽一週如果恰好就是365天,那就不需要閏年這種東西了。但不湊巧的是,地球繞一週需要約365.2422天(365天5小時48分45.5秒,365又10463/43200天),我們現行的時間體系沒法使一年等於一個存在小數的天數,只好把小數部分暫時存起來,攢成整數後再拿出來過掉,這就是閏年的原理。
▍閏年的原理
但這約365.2422天(365又10463/43200天)也很尷尬,如果繞一週需要365.25天,那每4年正好多出1天,那就太棒了。可這0.2422天怎麼處理?365 又10463/43200天,這意味著每過43200年應當有10463個閏年來補上10463天,這才完美的時間系統跟上天文系統。
但實際中上述43200年10463閏的方法過於變態。為了我們的生活方便,我們暫且按每4年一閏來補上少過的時間,這樣計算:1-0.2422×4=0.0312,可見每四年一閏又會導致四年後我們的時間過快了0.0312天。那過了400年後,我們的時間會過快了3.12天。為了避免出現過快3.12天,所以才加上了我們前邊提到的“百年不閏,四百年再閏”的特殊規定。
細心的讀者肯定注意到了,用“百年不閏,四百年再閏”的方法,使3.12天的誤差成功縮短到了0.12天,每400年會產生0.12天的誤差,這已經是很小了。可把這0.12天的誤差放到歷史的長河中,它也會逐漸變大。可以預見用“百年不閏,四百年再閏”的方法,3200年後,這0.12天的誤差會被放大到接近1天(約0.96天)。因此在公元3200年本該閏年的這一天變為平年。
在曆法研究中,對閏年的處理有著全面的處理,公元3200年不是閏年而是平年。接下來的時間節點是公元153600年(閏年)、公元36864000年(平年)……但我們日常生活中往往涉及的時間跨度有限,且上千、上萬年的跨度中,地球繞太陽的實際時間情況會發生微小變動。因此一般書籍資料中對閏年的判斷直接採用了“四年一閏,百年不閏,四百年再閏”的簡略方法。
▍一些萬年曆對3200年標註為閏年是錯誤的,多是其程式設計方法用了簡單的閏年判斷
▍相對比較全的閏年判斷方法,當然公元3200年後方法需要修正
本文涉及的時間皆為公曆(格里高利曆),中國傳統農曆對閏年的處理要複雜得多,以後有時間再介紹農曆對閏年的處理。
參考資料:
Lerner, Ed. K. Lee; Lerner, Brenda W. Calendar. The Gale Encyclopedia of Science. Detroit, MI: Gale. 2004.
首先,閏年的計算方法是“四年一閏,百年不閏,四百年再閏”,這就造成了在一些特殊年份,會出現八年一閏的現象。例如1896年為閏年,四年之後的1900年並不是閏年,直到再過四年之後的1904年才是閏年。也就是一般情況下年份能被4整除即為閏年,而整百年的年份要被400整除才為閏年。
▍用計算機語言描述的簡單的閏年判斷(為什麼是簡單的,後面詳述)
閏年的產生原理很簡單,如果地球繞太陽一週如果恰好就是365天,那就不需要閏年這種東西了。但不湊巧的是,地球繞一週需要約365.2422天(365天5小時48分45.5秒,365又10463/43200天),我們現行的時間體系沒法使一年等於一個存在小數的天數,只好把小數部分暫時存起來,攢成整數後再拿出來過掉,這就是閏年的原理。
▍閏年的原理
但這約365.2422天(365又10463/43200天)也很尷尬,如果繞一週需要365.25天,那每4年正好多出1天,那就太棒了。可這0.2422天怎麼處理?365 又10463/43200天,這意味著每過43200年應當有10463個閏年來補上10463天,這才完美的時間系統跟上天文系統。
但實際中上述43200年10463閏的方法過於變態。為了我們的生活方便,我們暫且按每4年一閏來補上少過的時間,這樣計算:1-0.2422×4=0.0312,可見每四年一閏又會導致四年後我們的時間過快了0.0312天。那過了400年後,我們的時間會過快了3.12天。為了避免出現過快3.12天,所以才加上了我們前邊提到的“百年不閏,四百年再閏”的特殊規定。
細心的讀者肯定注意到了,用“百年不閏,四百年再閏”的方法,使3.12天的誤差成功縮短到了0.12天,每400年會產生0.12天的誤差,這已經是很小了。可把這0.12天的誤差放到歷史的長河中,它也會逐漸變大。可以預見用“百年不閏,四百年再閏”的方法,3200年後,這0.12天的誤差會被放大到接近1天(約0.96天)。因此在公元3200年本該閏年的這一天變為平年。
在曆法研究中,對閏年的處理有著全面的處理,公元3200年不是閏年而是平年。接下來的時間節點是公元153600年(閏年)、公元36864000年(平年)……但我們日常生活中往往涉及的時間跨度有限,且上千、上萬年的跨度中,地球繞太陽的實際時間情況會發生微小變動。因此一般書籍資料中對閏年的判斷直接採用了“四年一閏,百年不閏,四百年再閏”的簡略方法。
▍一些萬年曆對3200年標註為閏年是錯誤的,多是其程式設計方法用了簡單的閏年判斷
▍相對比較全的閏年判斷方法,當然公元3200年後方法需要修正
本文涉及的時間皆為公曆(格里高利曆),中國傳統農曆對閏年的處理要複雜得多,以後有時間再介紹農曆對閏年的處理。
參考資料:
Lerner, Ed. K. Lee; Lerner, Brenda W. Calendar. The Gale Encyclopedia of Science. Detroit, MI: Gale. 2004.