DATA Step, Macro, Functions and more

convert a SAS DATETIME22.3 value into a SAS date value

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 6
Accepted Solution

convert a SAS DATETIME22.3 value into a SAS date value

How do I convert a DATETIME22.3 value into a SAS date value (number of days since January 1 1960)?  I am running PC SAS 9.3.


Accepted Solutions
Solution
‎02-11-2017 06:05 PM
Super User
Posts: 7,866

Re: convert a SAS DATETIME22.3 value into a SAS date value

Glad it worked. On closer inspection, you will find that newdatadate and sasdate contain the same value (with different formatting).

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers

View solution in original post


All Replies
Super User
Posts: 7,866

Re: convert a SAS DATETIME22.3 value into a SAS date value

The function to extract a date from a datetime is datepart().

So you either do (in a data step)

date_new = datepart(datetimeval);
format date_new yymmdd10.;

or (to replace the original variable)

dateval = datepart(dateval);
format dateval yymmdd10.;

Although I prefer version 1, as it also allows you to set a length for the new variable (date values can be stored in 4 bytes, datetime need all 8).

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Occasional Contributor
Posts: 6

Re: convert a SAS DATETIME22.3 value into a SAS date value

Posted in reply to KurtBremser
Thanks for your help. I have copied the code that worked below. rfortin



format newdatadate mmddyy6.; newdatadate = datepart(datadate); d = day(newdatadate); m = month(newdatadate); y = year(newdatadate); sasdate = mdy(m,d,y);
Solution
‎02-11-2017 06:05 PM
Super User
Posts: 7,866

Re: convert a SAS DATETIME22.3 value into a SAS date value

Glad it worked. On closer inspection, you will find that newdatadate and sasdate contain the same value (with different formatting).

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
☑ This topic is solved.

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

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