闰年的算法

转自:http://www.cn-java.com/www1/?uid-576374-action-viewspace-itemid-13336

 

首先要说一下闰年要满足的条件:

1.能被4整除且不能被100整除
2.能被400整除
在这两个条件只要有一个满足就可以了
例如2000年不满足第一个条件,但满足第二个条件,所以是闰年!
VB:

if (year mod 4=0 and year mod 100<>0) or (year mod 400 = 0) then{...}

含义即:如果一个年数能被4整除且同时满足不能被100整除,又或者能被400整除,就是闰年。中文JAVA技术网z+M i:D/h9JO1q
C\C++:

if (year%4==0 && year%100!=0) || (year%400==0){...}

含义同上.
关于闰年:
关于公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年,一回归年长365日5时48分46秒。因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四年增加一日,这一年有366日,就是闰年。但四年增加一日比四个回归年又多0.0312日,400 年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这样公历年的平均长度与回归年就相近似了。由此规定:年份是整百数的必须是400的倍数才是闰年,例如1900年、2100年就不是闰年。
我们居住的地球总是绕着太阳旋转的。地球绕太阳转一圈需要 365天5时48分46秒,也就是365.2422天。为了方便,一年定为365天,叫做平年;这样每过四年差不多就要多出一天来,把这一天加在2月里,这一年就有366天,叫做闰年。
通常,每四年里有三个平年一个闰年。公历年份是4的倍数的,一般都是闰年。
按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3天来,因此,每四百年中要减少三个闰年。所以规定,公历年份是整百数的,必须是400的倍数的才是闰年,不是400的倍数的就是平年。
也就 我们居住的地球总是绕着太阳旋转的。地球绕太阳转一圈需要365天5时48分46秒,也就是365.2422天。为了方便,一年定为365天,叫做平年;这样每过四年差不多就要多出一天来,把这一天加在2月里,这一年就有366天,叫做闰年。
通常,每四年里有三个平年一个闰年。公历年份是4的倍数的,一般都是闰年。
按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3天来,因此,每四百年中要减少三个闰年。所以规定,公历年份是整百数的,必须是400的倍数的才是闰年,不是400的倍数的就是平年。
中文
也就是我们通常所说的:
四年一闰,百年不闰,四百年再闰。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值