Date/time arithmetic in CL can be a chore. Command CHGDTETME allows flexible and easy CL date/time arithmetic.
Want yesterday's date? Simple:
CHGDTETME DTETME(*CURRENT) DURATION(*SUB *DAY) RTNVAL(&RESULT)
Or the date a month from now:
CHGDTETME DTETME(*CURRENT) DURATION(*ADD *MONTH) RTNVAL(&RESULT)
Or a week ago:
CHGDTETME DTETME(*CURRENT) DURATION(*SUB *WEEK) RTNVAL(&RESULT)
In addition to special values, Duration can be any combination of year, month, day, hours, minutes, and seconds:
YYYY-MM-DD-HH.MM.SS
Each segment can range from all zeros to all nines. For example a Duration of 0001-00-01-00.10.00 is a year, a day, and ten minutes. The only limitation is that the result date (RTNVAL) must fall between January 1, 0001 and January 1, 10000.
The base timestamp (DTETME) can be any valid timestamp value in YYYY-MM-DD-HH.MM.SS format.
DTETME, DURATION, and RTNVAL are CHAR(19) CL variables.
The calculations are performed by built-in functions.
IBM/i CL date arithmetic
Brought to you by:
tom772
Downloads:
1 This Week