免费注册 查看新帖 |

Chinaunix

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

新手简单的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-22 22:00 |只看该作者 |倒序浏览
在RPG里单独取系统日期的年 月 日,怎么取啊?

我的方法是:
D DATE                                 D            INZ(*SYS)
D CHAR                             10A

C                    MOVEL         DATE              CHAR
C                    EVAL            YEAR=%SUBST(CHAR:1:4)
C                    EVAL            MONTH=%SUBST(CHAR5:6)
C                    EVAL            DAY    =%SUBST(CHAR:7:8)


不知道对不对啊//

希望前辈多指点啊,我还在学习中

论坛徽章:
0
2 [报告]
发表于 2008-10-23 09:40 |只看该作者
也算是方法之一吧,一般都是在D(或I)表里定义一个结构,而不用取子串实现.
另,只是取系统值的话,可以使用UYEAR/*YEAR   UMONTH/*MONTH   UDAY/*DAY

论坛徽章:
0
3 [报告]
发表于 2008-10-24 09:13 |只看该作者
呵呵,我也是用分段截取的,用TIME后,直接截取几位.

论坛徽章:
0
4 [报告]
发表于 2008-10-24 14:38 |只看该作者
DDSDATE           DS                                                   
D  DSYEAR                 1      4  0                                 
D  DSMNTH                5      6  0                                 
D  DSDAY                   7      8  0                                 
C                   Z-ADD     *YEAR         DSYEAR                     
C                   Z-ADD     *MONTH        DSMNTH                     
C                   Z-ADD     *DAY          DSDAY                     
C     DSDATE        DSPLY                //20081024                              
C     DSYEAR        DSPLY                //2008                             
C     DSMNTH        DSPLY               //10                              
C     DSDAY         DSPLY                 //24                             
C                   SETON                                            LR

论坛徽章:
0
5 [报告]
发表于 2008-10-24 15:50 |只看该作者

回复 #1 ma19860119 的帖子

在RPG里有系统值可以获取。UMONTH,*MONTH ;UDAY,*DAY;UYEAR/*YEAR   可以直接用上。只要定义一个变量接收就好。

论坛徽章:
0
6 [报告]
发表于 2008-10-27 11:29 |只看该作者

论坛徽章:
0
7 [报告]
发表于 2008-11-20 10:49 |只看该作者
D FLD01 S D
D FLD02 S T
C MOVE *DATE FLD01
C TIME FLD02

 EXTRCT FLD01:*Y FLDYEAR
 EXTRCT FLD02:*H FLDHOUR

假设变量FLDYEAR 为四位字符型、FLDHOUR 为两位数字型

论坛徽章:
0
8 [报告]
发表于 2008-11-20 12:23 |只看该作者
楼主的方法默认日期系统格式是*ISO,但这是靠不住的,应该定义DATE时指定格式
D DATE                                 D            INZ(*SYS) DATFMT(*ISO)

建议用2楼和7楼的方法

另外%SUBST最后的参数应该是指长度,而不是绝对位置
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP