BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
DmytroYermak
Lapis Lazuli | Level 10

Hi all,

 

Could you please advise how to convert mmm yyyy into iso format.

 

data have;
  input cdate $10.;
  datalines;
Mar 2017
;
run;

 

I badly need the date in iso format: 2017-03

 

Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions
jklaverstijn
Rhodochrosite | Level 12

If you want to keep your date as a character value than this would do the trick:

length sdate $8;
sdate=put(input(cdate, monyy8.), yymmd8.);

The SAS ISO formats always display the date. In your specific case it looks like you can get away with a more common date format.

 

In general I would recommend to read up on how SAS deals with dates as they are usually stored as numeric values and formatted in a desired form when presenting the value in a report or such. A good start would be the online docs.

 

Hope this helps,

-- Jan

View solution in original post

4 REPLIES 4
jklaverstijn
Rhodochrosite | Level 12

If you want to keep your date as a character value than this would do the trick:

length sdate $8;
sdate=put(input(cdate, monyy8.), yymmd8.);

The SAS ISO formats always display the date. In your specific case it looks like you can get away with a more common date format.

 

In general I would recommend to read up on how SAS deals with dates as they are usually stored as numeric values and formatted in a desired form when presenting the value in a report or such. A good start would be the online docs.

 

Hope this helps,

-- Jan

DmytroYermak
Lapis Lazuli | Level 10
Thank you, Jan! I did not find the monyy8. format, now I will be aware.
BrunoMueller
SAS Super FREQ

I suugest to use the ANYDTDTE informat, this will give you a SAS date value, that can be used for many things, see example below

 

data have;
  input 
    @1 cdate $10.
    @1 sasDate anydtdte.
  ;
  
  sasDate2 = sasDate;
  
  format sasDate yymmd7. sasDate2 date9.;
  datalines;
Mar 2017
;
run;
DmytroYermak
Lapis Lazuli | Level 10
Thank you, Bruno. The same with anydtdte. format ) - I never heard. This forum is really useful.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 3807 views
  • 3 likes
  • 3 in conversation