RPGLE中获取日期时间值
来源:互联网 发布:matlab和java 编辑:程序博客网 时间:2024/05/18 19:42
获取时间和日期值,使用oracle的话,直接:select sysdate from dual就可以取到了,或者获取时间戳timestamp,然后使用字符串截取函数substr截取日期或者时间部分。
RPGLE中,有两种方法获取时间和日期值。1.使用系统函数%XXX,2使用TIME操作码,实例如下:
FMOVETST01 UF A E DISK DSEQCLB S 5A DV_STR S 5A DV_INT S 5S 0 C*程序控制 C EXSR @MAIN C EXSR @EXIT C*主控 C @MAIN BEGSR C*取数据域里面的数据 C *DTAARA DEFINE SEQCLB C *LOCK IN SEQCLB C EVAL SEQCLB = %CHAR(%INT(SEQCLB)+1) C*然后将其写回数据域 C OUT SEQCLB C*将数据域里面的数据作为序列值放入物理文件字段SEQCOL中 C EVAL V_INT = %INT(SEQCLB) C MOVE V_INT V_STR C EVAL SEQCOL = V_STR C* C*获取当前时间戳,日期,时间 C*使用系统函数获取,日期和时间值与时间戳的日期和时间部分相同 C*当调用程序的时候,那个时间点已经确定,斜面两种方法得到的值同 C*1.先获取时间戳,然后再利用%SUBST截取日期和时间部分 C*2.分别使用函数获取 C* C EVAL TIMSTMP = %TIMESTAMP() C EVAL DTA = %DATE() C EVAL TIM = %TIME() C*日期和时间的获取,TIME操作码 C*TIME将时间或者日期赋值给对应的时间或者日期类型变量 C* TIME DTA C* TIME TIM C* C* C*将时间戳转换为字符 C*时间戳的长度为26 C EVAL DTCHAR = %CHAR(TIMSTMP) C*写入物理文件:MOVETST01 C WRITE RMVTST C C ENDSR C*退出程序 C @EXIT BEGSR C EVAL *INLR = '1' C RETURN C ENDSR这里使用到了数据域,实现字段的自动增长。oracle里面实现自动增长可以使用序列sequence,db2里面也有sequence,功能与oracle相同。
在db2 for system i里面,数据域的一个作用就是实现字段的自动增长。
上面使用数据域的这种方法中,一定要在程序中定义一个与数据域同名,同类型的变量,这里我个数据域初始数据位0。
*LOCK IN SEQCLB:读取数据域中的值;
OUT SEQCLB:向数据域中写入数据。
取出数据域中的数据之后,我先将其转换为数值型数据,然后再move到一个指定长度的变量中。
RPGLE中的move操作码有着强大的数据类型转换功能,这里当我将数字1move到长度为5的字符型变量中之后,得到的字符为00001,空白处补0。
move是右对其,movel操作时左对齐。下面是写入到物理文件MOVETST01里面的记录。
- RPGLE中获取日期时间值
- java中获取日期和时间
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- Windows批处理中获取日期和时间
- android 中 系统日期时间的获取
- .NET 中获取两个日期相差时间
- Windows批处理中获取日期和时间
- android中获取系统日期时间
- android 中 系统日期时间的获取
- .net中获取时间日期方法总结
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- matlab中如何获取当前日期时间
- input子系统学习笔记六 按键驱动实例分析下
- DELETE与TRUNCATE的区别
- 进程操作-怎样查杀进程?
- ASCII码表
- 理解OpenGL中的模型视图矩阵变换
- RPGLE中获取日期时间值
- Python的logging模块的简单应用
- 关于int取值范围的一点思考
- IOS沙盒(sandbox)机制和文件操作(三)
- input子系统学习笔记七 handler处理器注册分析
- 调用谷歌的方法输出图表,运行中的结果
- ACM 杭电hdu 2602 Bone Collector(01背包)
- 3.服务端拦截器:验证是否发布成功,以及项目有感叹号问题
- Cortex-M3 (NXP LPC1788)之IIS控制器