天地不容 胡鸿钧:关于闰年计算问题?

来源:百度文库 编辑:神马品牌网 时间:2024/05/03 20:33:34
闰年是不是四年一个?为何世纪年要能被400整除才是闰年?

闰年不是四年一个。
由于地球公转一周为365日6时9分10秒,与一年相差6时9分10秒。这样每过四年就会少一天。因而被四整除的非世纪年是闰年。
但这样每过四百年有多出三天。因而又规定世纪年只有能被四百整除的才是闰年。
所以闰年不是四年一个。

闰年是每四年一个,计算闰年主要是为了判断2月份的天数,一般闰年2月份是29天,平年2月份是28天。计算闰年的算法非常简单,即:能被400整除,或者能被4整除而不能被100整除。

算法如下:

function isLeapYear(pYear)
set oreg=new RegExp
oreg.Pattern="^\d{4}$"
if not oreg.Test(pYear) then
isLeapYear=false
exit function
end if
oYear=clng(pYear)
if ((oYear mod 4=0 and oYear mod 100<>0) or oYear mod 400=0) then
isLeapYear=true
else
isLeapYear=false
end if
end function



又不是问怎么编程,汗一个

如程序中所说
(oYear%4=0 && oYear%100!=0) || oYear%400=0

地球绕太阳一周是365天5小时48分46秒,四年约多出一天时间,但并不是整一天,按比较合理的闰法,也就是说被四除尽的闰年,而被一百除尽的再废除一下闰,被四百除的再闰年,闰年也就是二月份是二十九天,平年二十八天。