「四年一閏」的說法原來是錯誤的!

2021-05-02 14:09:46 字數 1333 閱讀 2543

小學的時候,記得老師說過能被4整除的年份為閏年。按照此說法的話,2023年,2023年和2023年都是閏年。

然而在學習c語言邏輯運算的時候,有計算閏年的演算法:

(year/400 ==0) || (year/4 ==0 && year/100 != 0)

即「能被400整除的年份,或能被4整除,但不能被100整除的年份為閏年」;

當初學習學習此部分的時候還沒在意,今天又看到此演算法,發覺如果按此演算法的話,2023年和2023年將都不是閏年。於是立馬想在計算機上檢視2023年到底是不是閏年,但很無奈計算機系統時間只能為「1980~2099」年,但看到2023年,2023年是閏年,按「4年一閏」的說法,2100將是閏年,難道是計算閏年的演算法有問題?

於是,網上搜尋計年法,閏年的來歷,才發現其中的奧秘。

在公曆(格里曆)紀年中,有閏日的年份叫閏年,一般年份365天,閏年為366天。由於地球繞太陽執行週期為365天5小時48分46秒(合365.24219天)即一回歸年,公曆把一年定為365天。所餘下的時間約為四年累計一天,加在二月裡,所以平常年份每年365天,二月為28天,閏年為366天,二月為29天。

每年多出來的5小時48分, 4年下來,多出約(5×60+48)×4 = 1392分(約為一天)。一天24小時折算成分鐘,24×60 =1440分鐘。

但 這樣計算的話,也只是大約為一天。每4年所多出的時間比整一天的時間大約少(1440-1392=48分鐘)。到100年時,經過了24個4年(24×48=1200-48=1152)即,到一百時(100這個年份沒算為閏年),將累計減少1152分鐘,約一天的時間,所以在100年的時候又定為平年,即此時4年後不累計加一天(閏年不能被100整除的來由),但這樣計算,400年後,(1440-1152)×4=288×4=1200-48=1152約為一天,故到400年的時候,就再定為閏年(能被400整除的年份為閏年)。

所以,也就有了每400年有97個閏年的說法。

中國舊曆農曆紀年中,有閏月的一年稱為閏年。一般年份為12個月,354或355天,閏年則為13個月,383或384天。農曆作為陰陽曆的一種,每月的天數依照月虧而定,一年的時間以12個月為基準;為了合上地球圍繞太陽執行週期即回歸年,每隔2到4年,增加乙個月,增加的這個月為閏月,因此農曆的閏年為13個月。

農曆沒有第十三月的稱謂,閏月按照曆法規則,排放在從二月到十月的過後重複同乙個月,重複的這個月為閏月,如四月過後的閏月稱為閏四月。

農曆閏年閏月的推算,3年一閏,5年二閏,19年七閏;農曆基本上19年為一週期對應於公曆同一時間。如公曆的2023年5月27日、2023年5月27日和2023年5月27日這個日子,都是閏四月初五。

其他參考:

這四年是這樣過的

基 本 信 息 李際田性別 男 出生日期 1984年09月17日 居 住 地 湖北省 工作年限 應屆畢業生 湖北 電子郵件 lijitian.student sina.com 086 0718 8439064 086 13971887046 自 我 評 價 四年的專業學習我學會如何面對問題並解決問題...

原來是Struts2 0的乙個Bug

開始使用的是struts2.06版本。在配置struts.xml的時候,發現了乙個問題 struts.xml xml struts include file struts default.xml package name default extends struts default intercep...

共享馬扎的火爆,原來是一場營銷!

如今,人們的生活彷彿已經被 共享化 上班有共享單車 睡覺有共享床鋪 商場有共享充電寶 去機場有共享巴士 好像除了男女朋友是自己的,其他都要共享了!哎,不對!前些日子,竟然還真有了共享男友和共享女友的服務,不但如此,連共享擼貓都有了 不禁讓人花樣矇圈,回頭是不是連我外婆的假牙都能共享了?雖然上面提到的...