C#判断闰年的算法!


 

 1  /*
 2   * Created by BpLoveGcy.cnblogs.com
 3   * Gump Yin
 4   * Date: 2010-3-29
 5   * Time: 22:13
 6   * 
 7   * Version:
 8   * CopyRight: http://BpLoveGcy.cnblogs.com/
 9    */
10  using  System;
11 
12  namespace  CheckLeapYear
13  {
14       ///   <summary>
15       ///  Description of IsLeapYear.
16       ///   </summary>
17       public   class  Year
18      {
19           public  Year()
20          {
21          }
22           ///   <summary>
23           ///  判定公历闰年遵循的一般规律为:四年一闰,百年不闰,四百年再闰。
24           ///  公历闰年的精确计算方法:(按一回归年365天5小时48分45.5秒)
25           ///  普通年能被4整除而不能被100整除的为闰年。 (如2004年就是闰年,1900年不是闰年)
26           ///  世纪年能被400整除而不能被3200整除的为闰年。 (如2000年是闰年,3200年不是闰年)
27           ///  对于数值很大的年份能整除3200,但同时又能整除172800则又是闰年。(如172800年是闰年,86400年不是闰年)
28           ///  
29           ///  公元前闰年规则如下:
30           ///  非整百年:年数除4余数为1是闰年,即公元前1、5、9……年;
31           ///  整百年:年数除400余数为1是闰年,年数除3200余数为1,不是闰年,年数除172800余1又为闰年,即公元前401、801……年。
32           ///   </summary>
33           ///   <param name="yN"> 年份数字 </param>
34           ///   <returns></returns>
35           public   static   bool  IsLeap( int  yN)
36          {
37 
38               if  ((yN  %   400   ==   0   &&  yN  %   3200   !=   0 )
39                  ||  (yN  %   4   ==   0   &&  yN  %   100   !=   0 )
40                  ||  (yN  %   3200   ==   0   &&  yN  %   172800   ==   0 ))
41                   return   true ;
42               else
43                   return   false ;
44 
45          }
46      }
47  }
48 

 

 

 

 

ref:http://www.hudong.com/wiki/闰年 

转载于:https://www.cnblogs.com/BpLoveGcy/archive/2010/03/29/1700085.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值