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.
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!
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.