Test_date = numeric 20160501
Desired Result = 01MAY2016:00:00:00
I tried the advanced expression in in Enterprise Guide:
INPUT(PUT(t1.TEST_DATE,8.),YYMMDD10.)
format= DATETIME20
Result = 01JAN1960:05:42:55
Your value is a date so to get a date time you need a bit more:
data want;
datetime = dhms(input(put(20160501,8.),yymmdd8.),0,0,0);
put datetime datetime20.;
run;
the DHMS function adds hours, minutes and seconds to a date value to create a datetime.
You started out well. The formulas you applied convert from an integer to a SAS date. So if you had picked a date format instead of a datetime format, you would see that the formula worked properly.
To convert from the date that you obtained to a datetime, you need to convert from days to seconds. Multiply your result by 24 * 60 * 60.
Your value is a date so to get a date time you need a bit more:
data want;
datetime = dhms(input(put(20160501,8.),yymmdd8.),0,0,0);
put datetime datetime20.;
run;
the DHMS function adds hours, minutes and seconds to a date value to create a datetime.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.