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
;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.