DATA Step, Macro, Functions and more

Date Conversion

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 12
Accepted Solution

Date Conversion

Hi,

 

i have the date in 20070102 numeric format, i want this into SAS format so that i get the month out of this date. I am happy to

know if there is another way as well without first formatting into SAS.

 

Thanks.

 


Accepted Solutions
Solution
‎07-10-2016 04:19 AM
Super User
Super User
Posts: 7,039

Re: Date Conversion

Posted in reply to gnrslasher37

If you have the number 20,070,102 and you want to treat the digits from the hundreds and thousands place as a month then just use some arithmetic to get the value.

 

data x;
  input number comma10.;
  month = mod(int(number/100),100);
  put (number month) (=);
cards;
20,070,102
20131201
;

View solution in original post


All Replies
Super Contributor
Posts: 298

Re: Date Conversion

Posted in reply to gnrslasher37

I guess you want first to change the numeric to SAS date and then get the MONTH from the SAS date. Here is one way.

data _null_;
dt =  20070102;
date = input(put(dt,8.),yymmdd10.);
month = month(date);
put date = month =;
run;

 

 

Solution
‎07-10-2016 04:19 AM
Super User
Super User
Posts: 7,039

Re: Date Conversion

Posted in reply to gnrslasher37

If you have the number 20,070,102 and you want to treat the digits from the hundreds and thousands place as a month then just use some arithmetic to get the value.

 

data x;
  input number comma10.;
  month = mod(int(number/100),100);
  put (number month) (=);
cards;
20,070,102
20131201
;
☑ This topic is solved.

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

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