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.
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.