当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

C#中判断指定的年份是否为闰年

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2018-12-31 11:48:31

:2012-04-30 11:44:50

有很多人认为,只要年份能被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;
     }
  }


C#中判断指定的年份是否为闰年