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.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.