首先考虑特殊的月 2 月 润年为29天 ,平年为 28天
接着是大月和小月 大月 31天 小月30天 大月有 1,3,5,7,8,10,12 小月有 4,6,9,11
判断闰年:
能被400整除或者能被4整除且不能被100整除为润年
以下为 PB代码:
函数名:of_ruinian 参数类型 int 参数名 ai_year 返回值 boolean
IF (Mod(ai_year,400) = 0 AND Mod(ai_year,100) = 0) OR (Mod(ai_year,4) = 0 AND Mod(ai_year,100) <> 0) THEN
RETURN TRUE
ELSE
RETURN FALSE
END IF
函数名:of_getDayOfMonth 参数类型 int,int 参数名 ai_year,ai_month 返回值 int
取得月的天数:
choose case ai_month
case 1
GOTO BIGMONTH
case 3
GOTO BIGMONTH
case 5
GOTO BIGMONTH
case 7
GOTO BIGMONTH
case 8
GOTO BIGMONTH
case 10
GOTO BIGMONTH
case 12
GOTO BIGMONTH
case 4
GOTO SMALLMONTH
case 6
GOTO SMALLMONTH
case 9
GOTO SMALLMONTH
case 11
GOTO SMALLMONTH
case 2
if of_ruinian(ai_year) = true then //此处调用第一个函数判断是否闰年
return 29
else
return 28
end if
end choose
BIGMONTH:
RETURN 31
SMALLMONTH:
RETURN 30