%DATE, %TIME, and %TIMESTAMP can be used without parameters to get the current system date, time, or timestamp:
%DATE and %TIME can be used with a timestamp parameter to get the date or time part of the timestamp:
%DATE, %TIME, and %TIMESTAMP can be used with a numeric or character parameter, and an optional format, to return a date, time, or timestamp:
date = %time(char : *iso0);
%DATE and %TIME can be added together to return a timestamp:
%CHAR with a date, time, or timestamp parameter can convert those types to character, in any required format:
Here's an example of using these built-in functions to get a non-standard timestamp in the form "mm/dd/yy hh:mm:ss AM."
+ ' '
+ %char(%time(ts) : *HMS:) // hh:mm:ss
+ ' '
+ %subst(%char(%time(ts): *USA): 7 : 2); // AM or PM
By the way, if you're wondering how to convert a date, time, or timestamp value to numeric, it's quite easy in V5R2 by combining %INT or %DEC with %CHAR:
numTS = %dec(%char(timestamp : *iso0) : 20 : 0); //
yyyymmddhhmmssuuuuuu
In V5R1, for dates or times, you can use the C function atoll, like this:
D atoll pr 20i 0 extproc('atoll')
D string * value options(*string)
/free
numDate = atoll(%char(date : *eur0));
Barbara Morris can be reached by email at
LATEST COMMENTS
MC Press Online