日期知识终于用上了。。。

来源:互联网 发布:亚马孙还是亚马逊知乎 编辑:程序博客网 时间:2024/04/29 10:25

 

首先考虑特殊的月   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