有很多人认为,只要年份能被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;
}
}
新闻热点
疑难解答