有很多人認為,只要年份能被4整除就是閏年了,實際上不是這樣的,判斷一個年份是否為閏年有兩個條件:
(1)如果一個年份能被400除盡,則其是閏年;
(2)如果年份能被4整除,而不能被100整除,則該年份為閏年。
為什么年份被4整除而不能被100整除時才是閏年呢?下面首先介紹一個常識,然后再給出具體的算法。
關于公歷閏年是這樣規定的:地球繞太陽公轉一周叫做一回歸年,一回歸年長365日5時48分46秒。因此,公歷規定有平年和閏年,平年一年有365日,比回歸年短0.2422日,四年共短0.9688日,故每四年增加一日,這一年有366日,就是閏年。但四年增加一日比四個回歸年又多0.0312日,400年后將多3.12日,故在400年中少設3個閏年,也就是在400年中只設97個閏年,這樣公歷年的平均長度與回歸年就相近似了。由此規定:年份是整百數的必須是400的倍數才是閏年,例如1900年、2100年就不是閏年。
明白了閏年的由來,則再給出具體的算法:
/// <summary>判斷給定的年份是否是閏年</summary>
/// <param name="iYear">給定的年份值</param>
/// <returns>true是閏年,false不是閏年</returns>
public bool IsLeapYear(int iYear)
{
if(( iYear % 400 == 0)||(iYear % 4 == 0 && iYear % 100 != 0))
{
return true;
}
else
{
return false;
}
}
新聞熱點
疑難解答