Help using Base SAS procedures

Need to format date/time as YYYYMM

Reply
New User
Posts: 1

Need to format date/time as YYYYMM

[ Edited ]

I looking to format a date/time field as an interger in the format of YYYYMM. Below works, but I cannot figure out how to remove the day part (DD). Thanks.

 

input(put(datepart(r.MyDate),yymmddn8.),8.) as MyDateFormatted format=8.

 

Example:

 

MyDate=10MAR2017:13:29:57.000

Need=201703 as numeric

 

 

Super User
Posts: 23,663

Re: Need to format date/time as YYYYMM

Posted in reply to mariearev

There's a format for that Smiley Wink

 

YYMMN6 Format, either apply the format or use PUT() with DATEPART(). 

 

 

data test;
 dt=dhms('01Jan2017'd, 5, 2, 20);
 format dt datetime20.;
 
 date_formatted=datepart(dt);
 format date_formatted yymmn6.;
 
 x=put(datepart(dt), yymmn6.);
 y=input(x, 8.);
run;

ods select variables;

proc contents data=test;
run;

proc print data=test;
run;

 

Learner
Posts: 1

Re: Need to format date/time as YYYYMM

Posted in reply to mariearev

You can use the following format to convert a date to YYMM or YYYYMM. For example: 12-03-2018 to 201803:

 

put(r.MyDate, yymmn6.) as MyDateFormatted

See this link for more details:

http://support.sas.com/documentation/cdl/en/fedsqlref/67364/HTML/default/viewer.htm#n1d48aw39lluo9n1...

Ask a Question
Discussion stats
  • 2 replies
  • 5973 views
  • 2 likes
  • 3 in conversation