Desktop productivity for business analysts and programmers

Numeric date to date and time

Accepted Solution Solved
Reply
Contributor
Posts: 41
Accepted Solution

Numeric date to date and time

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

 

 


Accepted Solutions
Solution
‎12-06-2016 12:33 PM
Super User
Posts: 11,134

Re: Numeric date to date and time

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.

 

View solution in original post


All Replies
Super User
Posts: 5,367

Re: Numeric date to date and time

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.

Solution
‎12-06-2016 12:33 PM
Super User
Posts: 11,134

Re: Numeric date to date and time

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.

 

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 193 views
  • 0 likes
  • 3 in conversation