Мне нужна временная метка (в Signed Int) для даты и времени. Как я могу это сделать?
Идея:
D stampint 10I 0 //- value: '1455554435' - input parm
D Varprint 10A
D Varprint2 8A 0
/free
Varprint = %char(%date( (<cast to timestamp> stampint) :*MDY));
Varprint2 = %char(%time( (<cast to timestamp> stampint) :*HMS));
dsply Varprint;
dsply Varprint;
inlr = *on;
return ;
/End-free
Objective result:
DSPLY 02/15/2016
DSPLY 16:40:35
Спасибо.
ОБНОВЛЕНИЕ: Извините, я поставил вопрос так быстро, что не правильно сообщил об этом.
Цель состоит в том, чтобы иметь возможность сообщать дату и время независимо от типа переменной. Var1 может быть * CHAR или цифрой c (в упаковке). Varprint и Varprint2 являются примером, но я хотел бы знать, как привести тип I к типу Z.
Я пытался использовать:
D timestmp Z inz('1970-01-01-00.00.00.000000')
D result Z inz('0001-01-01-00.00.00.000000')
... code..
/free
result = timestmp + %seconds(stampint);
dsply result;
/end-free
Но результат неправильный.
Я тоже пробовал:
Varprint = %char(%date( %editc(stampint:'Z') :*MDY));
Но это дает ошибку компиляции: * RNF7416 - Типы правой и левой стороны не выполняют операцию EVAL.