免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 10841 | 回复: 4
打印 上一主题 下一主题

我自己在informix-4GL下写的几个跟日期有关的函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-21 15:27 |只看该作者 |倒序浏览
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[3,4],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)
   DEFINE  p_date     DATE,
           p_bdate    DATE,
           p_edate    DATE,
           l_date     DATE,
           b_date     CHAR(0,
           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[7,8]<>;'01' THEN       LET b_date=b_date[1,4],b_date[5,6],b_date[7,8]*0+1 USING '&&'
   END IF
   LET p_bdate = MDY(b_date[5,6],b_date[7,8],b_date[1,4])    #該月第一天
   #將月份加一, 再將日期減一, 即可得到上月的最後一天
   LET b_date=b_date[1,4],b_date[5,6]+1 USING '&&',b_date[7,8]
   IF b_date[5,6]='13' THEN       LET b_date=b_date[1,4]+1 USING '&&&&',b_date[5,6]*0+1
                  USING '&&',b_date[7,8]
   END IF
   LET l_date = MDY(b_date[5,6],b_date[7,8],b_date[1,4]) #該月之最後一天
   LET p_edate=l_date-1
   RETURN p_bdate,p_edate
END FUNCTION

论坛徽章:
0
2 [报告]
发表于 2004-10-21 17:54 |只看该作者

我自己在informix-4GL下写的几个跟日期有关的函数

论坛徽章:
0
3 [报告]
发表于 2007-06-30 22:05 |只看该作者
(第一次在chinaunix上顶帖~)  

繁体字呀,lz是不是在台资上班呐?不同的是我是在深圳~ 感觉书写格式都那么象!

论坛徽章:
0
4 [报告]
发表于 2012-09-10 17:09 |只看该作者
謝謝樓主分享!

论坛徽章:
0
5 [报告]
发表于 2012-10-04 11:47 |只看该作者
好帖,确实好帖!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP