用CL提取系统值

//获取系统时间
RTVSYSVAL SYSVAL(QTIME) RTNVAR(&TIME)

//系统的日期格式由系统值QDATFMT决定。初值为MDY(月日年),也可以改成YMD(年月日),DMY(日月年)或者JUL格式
//JUL格式中,QDAY的值是001-366的三位字符。可以用来确定两个日期之间的天数。
//可用CVTDAT命令来闪出日期分割的字符。CVTDAT的格式:
CVTDAT DATE(要转换的日期) TOVAR(CL变量)
FROMFMT(旧格式) TOFMT(新格式) TOSEP(新分隔符)

//SAMPLE
CVTDAT DATE(&DATE) TOVAR(&CVTDAT) FROMFMT(*MDY) TOFMT(*DMY) TOSEP(*SYSVAL)
//JUL示例
CVTDAT DATE(&DATE6) TOVAR(&DATE5)) TOFMT(*JUL) TOSEP(*NONE)
//如果&QDATE6=6位 &QDATE5=5位 &QDATE6=010502 &QDATE5=02005
//如果&QDATE6=8位 &QDATE5=7位 &QDATE6=01052002 &QDATE5=2002005

//Get Current Local Time (CEELOCT), to convert a date to Julian format.
PGM
DCL &LILDATE *CHAR LEN(4)
DCL &PICTSTR *CHAR LEN(5) VALUE(YYDDD)
DCL &JULDATE *CHAR LEN(5)
DCL &SECONDS *CHAR 8 /* Seconds from CEELOCT */
DCL &GREG *CHAR 23 /* Gregorian date from CEELOCT */
/* */
CALLPRC PRC(CEELOCT)   /* Get current date and time */ +
PARMS (&LILDATE)    /* Date in Lilian format */ +
&SECONDS     /* Seconds field will not be used */
&GREG     /* Gregorian field will not be used */
*OMIT    /* Omit feedback parameter so exceptions are signalled */

CALLPRC PRC(CEEDATE) +
PARMS (&LILDATE) /* Today.s date */ +
&PICTSTR /* How to format */ +
&JULDATE /* Julian date */ +
*OMIT
ENDPGM

原文地址:https://www.cnblogs.com/wildfish/p/1031900.html