關於閏年的那些事兒

2021-09-20 20:00:32 字數 1233 閱讀 6142

公曆閏年

小學時老師就教過每4年就有乙個閏年,但年份能被100整除時不閏,比如:2023年是閏年,因為其能被400整除,但2023年不是閏年,其能被4整除,但能被100整除。用php來實現這個演算法就是:

/**

* 是否是閏年

** 四年一閏,百年不閏,四百年再閏

* * @param   int $year   年份

* @return  bool

*/function

isleapyear(

$year)  

$year

= 2000; 

var_dump(isleapyear($year

)); 

$year

= 1900; 

var_dump(isleapyear($year

)); 

輸出結果:

bool(true) 

bool(false) 

為什麼100年不閏呢?

最根本的原因是:地球繞太陽執行週期為365天5小時48分46秒(合365.24219天)即一回歸年(tropical year)。公曆的平年只有365日,比回歸年短約0.2422 日,所餘下的時間約為四年累計一天,故四年於2月加1天,使當年的歷年長度為366日,這一年就為閏年。現行公曆中每400年有97個閏年。按照每四年乙個閏年計算,平均每年就要多算出0.0078天,這樣經過四百年就會多算出大約3天來,因此,每四百年中要減少三個閏年。所以規定,公曆年份是整百數的,必須是400的倍數的才是閏年,不是400的倍數的,雖然是100的倍數,也是平年,這就是通常所說的:四年一閏,百年不閏,四百年再閏

農曆閏年

上面說的是公曆的閏年,在中國農曆裡也有閏年。在農曆中有閏月的年份稱為農曆閏年。閏月指的是陰曆中的一種現象,陰曆是按照月亮的圓缺即朔望月安排大月和小月,乙個朔望月的長度是29.5306日,是月相盈虧的週期,陰曆規定,大月30天,小月29天,這樣一年12個月共354天,陰曆的月份沒有季節意義,這樣十二個朔望月構成農曆年,長度為29.5306×12=354.3672日,比回歸年365.2422日少10.88天(即將近11天),每個月少0.91天(近1天)。

很不幸的是,要用精確的程式來計算農曆的月天數,及置閏的月份比較麻煩,現在常用的辦法都是參照一些天文曆法資料來進行計算。尤其是節氣的時間更是需要精確的天文曆法來推算。

關於Python那些事兒

1.易於學習 python有相對較少的關鍵字,結構簡單,和乙個明確定義的語法,學習起來更加簡單。2.易於閱讀 python 定義的更清晰。3.易於維護 python的成功在於它的源 是相當容易維護的。4.乙個廣泛的標準庫 python的最大的優勢之一是豐富的庫,跨平台的,在unix,windows和...

關於Nginx那些事兒

記憶體少 併發能力強,效能優化 正向 在瀏覽器中配置 伺服器,實現客戶端對伺服器的訪問。也就是說,在一般情況下,我們客戶端無法直接訪問到伺服器,需要有那麼乙個中臺作為中間應用實現訪問。反向 反向 中,客戶端是無知的,不知道是否配置了伺服器,我們將資料發到反向 伺服器上去,反向 伺服器選擇目標伺服器獲...

關於BOM的那些事兒

window物件 1.window物件是最頂層的物件 2.window物件有六大屬性,這六大屬性本身也是物件 3.window物件旗下的document也是物件 並且document旗下有五大屬性 4.document旗下的五大屬性又是物件,總結 都是物件 window screenleft 和 s...