閏年的計算方法

一:什麼是閏年html

關於公曆閏年是這樣規定的:地球繞太陽公轉一週叫作一回歸年,一回歸年長365日5時48分46秒。
所以,公曆規定有平年和閏年,平年一年有365日,比迴歸年短0.242199日,通常用四位小數計算,及0.2422,四年共短0.9688日,故每四年增長一日,而且把這多出了的一天放到二月份,因此閏年的二月份有29天,這一天也叫閏日,這一年共有366日,就是閏年。但四年增長一日比四個迴歸年又多0.0312日,400年後將多3.12日,故在400年中少設3個閏年,也就是在400年中只設97個閏年,這樣公曆年的平均長度與迴歸年就相近似了。由此規定:年份是整百數的必須是400的倍數纔是閏年,例如1900年、2100年就不是閏年。url

也就咱們居住的地球老是繞着太陽旋轉的。地球繞太陽轉一圈須要365天5時48分46秒,也就是365.2422天。爲了方便,一年定爲365天,叫作平年;這樣每過四年差很少就要多出一天來,把這一天加在2月裏,這一年就有366天,叫作閏年。
一般,每四年裏有三個平年一個閏年。公曆年份是4的倍數的,通常都是閏年。 spa

按照每四年一個閏年計算,平均每一年就要多算出0.0078天,這樣通過四百年就會多算出大約3天來,所以,每四百年中要減小三個閏年。因此規定,公曆年份是整百數的,必須是400的倍數的纔是閏年,不是400的倍數的就是平年。 htm

也就是咱們一般所說的:
四年一閏,百年不閏,四百年再閏。get

二:數學中計算閏年的方法
通常的在數學運算中,或者在公曆紀年法中,能被4整除的大可能是閏年,除了那些能被100整除而不能被400整除的年份之外。數學

①非世紀年能被4整除,且不能被100整除的是閏年。(如2004年是閏年,1901年不是閏年)
②世紀年能被400整除的是閏年。(如2000年少閏年,1900年不是閏年)io


三:閏年的差值計算
現時的公曆以迴歸年爲「年」的計算基礎,而一個迴歸年大約等於365.24220日。由於在平年公曆只計算365日,結果四年後便會累積0.24220×4=0.9688日,大約等於一日,因此便逢四年增長一日閏日以抵銷這0.9688日。可是仍是稍微的少了點,這樣一時沒有多少時間,但是到了一個百年時就會相差了大約0.78天,即多加了。因此要再次規定細節,到100年是不在加,這樣又會每100年的時間少了0.22天,到了400年時,差了大約0.9天了,因此那個百年是要再加上潤日才能夠基本對應的。可是這樣仍然會有些許的偏差,可是已經至關的小了。我只是大體進行了計算,實際的是相差很小很小的,微乎其微的,可是日積月累卻能夠百年出「日」的不起眼的小數上。下面就讓每咱們一塊兒來計算一下這個差值:
使用實際時間計算:
一個迴歸年大約是:365日5時48分46秒,咱們把不足一天的時間轉換成秒數:5×3600+48×60+46=20926秒
而一天的秒數是:24×3600=86400秒
咱們一般計算的是以400年爲一個循環,也就是前面所說的:四年一閏,百年不閏,四百年再閏。
那麼400年的時間總共天數和多出的秒數:天數:365×400=146000天,多餘秒數:20926×400=8370400秒,
把多出來的秒數轉換整天時分秒的形式:96天21小時6分40秒
而後把這個秒數轉換整天的小數:8370400/3600/24=96.87962963
數學計算中經常使用的數值:
咱們一般在數值計算中用到一個迴歸年是365.2422天
那麼400年的時間是多少呢?應該是365.2422×400,咱們把這個計算式分解下,365×400+0.2422*400,其中365×400和前面的同樣,咱們這裏就再也不次計算,咱們只算0.2422*400=96.88天
這個96.88天數減去實際天數96.87962963:96.88-96.87962963=0.00037037天
而0.00037037天轉換成秒:0.00037037×24×3600=31.999968秒,大約是32秒
驗證是否相差32秒:
把96.88天的0.88天轉換成秒數:0.88×86400=76032
把76032秒轉換整天時分秒的形式:96天21小時7分12秒基礎

結論:
經過以上數據的計算,咱們能夠看出每一年以365.2422天計算400年爲週期,和實際直接的差值是32秒,也就是400年有32秒的偏差。
可是咱們實際計算400年都是按97個潤計算,也就是97天 - 96天21小時6分40秒=2小時53分20秒的偏差。
可能有人會問了,時間長了也是有偏差的啊?你說的對,我們來計算一下偏差一天要通過多少年:天天的秒數是86400,除以32,而後再乘以400:86400/32*400=108000年,也就是要通過100多萬年會多出1天的偏差,在時間的長河中,人的有生之年相對於108萬年有這樣的偏差存在已是微乎其微了,能夠忽略不計了。就算以2小時53分20秒的偏差計算:400*86400/(2*3600+53*60+20)=3323.077年,也須要通過3000多年的時間會多出一天的時間偏差。
具體使用那個數值?須要精確度到多少?,使用哪個數值取決於你本身了,我這裏只是告訴你各個數值之間的偏差。
聲明:固然我這裏的計算也是有偏差的,我這裏只精確到秒。循環

參考:
http://zhidao.baidu.com/link?url=NUkieJI81Aqstmo9lOYBgQMc1bMw2mYXHAF-hFuZHIpVgCLx4xmgU-L4Um468mwPz4tdL9Lx0qY-gZZjFcZWNq
http://zhidao.baidu.com/link?url=ubMA8QtC2PouuzZvn_EJDgnxg-qumwSQxG6Z-C3OKHtvsriAkwH7K4zRXjk4n_5K44-IMChZvWI6gUM1lJkREa
http://zhidao.baidu.com/question/8407108.html方法

相關文章
相關標籤/搜索