12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- $PBExportHeader$f_get_month_days.srf
- global type f_get_month_days from function_object
- end type
- forward prototypes
- global function integer f_get_month_days (long arg_mth, ref long arg_ref_days, ref string arg_msg)
- end prototypes
- global function integer f_get_month_days (long arg_mth, ref long arg_ref_days, ref string arg_msg);Int rslt = 1
- Long ll_year,ll_month,ll_lastday
- Boolean ifyear = FALSE
- ll_month = Long(Right(String(arg_mth),2))
- IF Not (ll_month >= 1 AND ll_month <= 12) THEN
- arg_msg = '非法的月份'
- rslt = 0
- GOTO ext
- END IF
- ll_year = Long(Left(String(arg_mth),4))
- IF Mod(ll_year,4) <> 0 THEN
- ifyear = FALSE
- ELSEIF Mod(ll_year,100) <> 0 THEN
- ifyear = TRUE
- ELSEIF Mod(ll_year,400) <> 0 THEN
- ifyear = FALSE
- ELSE
- ifyear = TRUE
- END IF
- CHOOSE CASE ll_month
- CASE 1,3,5,7,8,10,12
- ll_lastday = 31
- CASE 2
- IF ifyear THEN
- ll_lastday = 29
- ELSE
- ll_lastday = 28
- END IF
- CASE 4,6,9,11
- ll_lastday = 30
- END CHOOSE
- arg_ref_days = ll_lastday
- ext:
- RETURN rslt
- end function
|