我自己在informix-4GL下写的几个跟日期有关的函数
1.##SYNTAX CALL s_monbend(p_yy,p_mm)
## RETURNING l_bdate,l_edate
##DESCRIPTION 讀取該月份所在的之第一天及最後一天
##PARAMETERS p_yy 年 p_mm 月
##RETURNING l_bdate該月之第一天
## l_edate該月之最後一天
# Date & Author..: 04/04/23 by Kerry
FUNCTION s_monbend(p_yy,p_mm)
DEFINE p_yy,p_mm INTEGER
DEFINE n_yy,n_mm INTEGER
DEFINE l_bdate,l_edate DATE,
c_bdate char(10),
c_yeare char(04),
c_month char(02)
LET c_yeare=p_yy
LET c_month=p_mm using '&&'
LET c_bdate=c_yeare,c_month,'01'
LET l_bdate=c_bdate
LET n_yy=p_yy
LET n_mm=p_mm+1
IF n_mm=13 THEN LET n_yy=n_yy+1 LET n_mm=n_mm-12 END IF
LET l_edate=MDY(n_mm,1,n_yy)-1
RETURN l_bdate,l_edate
END FUNCTION
2.
##SYNTAX CALL s_mothck(p_date)
## RETURNING l_bdate,l_edate
##DESCRIPTION 讀取該日期所在的月份之第一天及最後一天
##PARAMETERS p_date日期
##RETURNING l_bdate該月之第一天
## l_edate該月之最後一天
# Date & Author..: 04/04/23 by Kerry
FUNCTION s_mothck(p_date)
DEFINEp_date DATE,
p_bdate DATE,
p_edate DATE,
l_date DATE,
b_date CHAR(08),
l_tmp SMALLINT
IF p_date IS NULL OR p_date=' ' THEN
RETURN '',''
END IF
LET b_date=p_date USING "yyyymmdd"
IF b_date<>;'01' THEN LET b_date=b_date,b_date,b_date*0+1 USING '&&'
END IF
LET p_bdate = MDY(b_date,b_date,b_date) #該月第一天
#將月份加一, 再將日期減一, 即可得到上月的最後一天
LET b_date=b_date,b_date+1 USING '&&',b_date
IF b_date='13' THEN LET b_date=b_date+1 USING '&&&&',b_date*0+1
USING '&&',b_date
END IF
LET l_date = MDY(b_date,b_date,b_date) #該月之最後一天
LET p_edate=l_date-1
RETURN p_bdate,p_edate
END FUNCTION
我自己在informix-4GL下写的几个跟日期有关的函数
顶 (第一次在chinaunix上顶帖~)繁体字呀,lz是不是在台资上班呐?不同的是我是在深圳~ 感觉书写格式都那么象! 謝謝樓主分享! 好帖,确实好帖!
页:
[1]