Hi
I have a date value
19370
19375
i would Like to convert it in
12JAN13:00:00:00
17JAN13:00:00:00
I am using below piece of code but it's not working
tranwrd(put(dhms(datepart(ldate),0,0,0),E8601DT19.),"T","");
Thanks
Your values are dates so you don't need the date part function. The format you want is a SAS format, datetime21 so you can apply that directly. The code below demonstrates this, time_want is the numeric version of the variable and time_want_char is the character version of the variable.
data have;
input time;
cards;
19370
19375
;
run;
data want;
set have;
time2=time;
time_want=dhms(time, 0, 0, 0);
time_want_char=put(time_want, datetime21.);
format time time_want datetime21. time2 date9.;
run;
How about:?
data want;
set have;
ndt=tranwrd(put(dhms(ldate,0,0,0),E8601DT19.),"T","");
run;
data have;
input time;
time_want=time*86400;
format time_want datetime.;
cards;
19370
19375
;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.