BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
bobbyc
Fluorite | Level 6

How do I convert DATE9. format to ISO8601 date format ?

 

I need to convert the 10JAN2011 to 2011-01-10.

 

Is there a way to do this ?

1 ACCEPTED SOLUTION

Accepted Solutions
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Well, that example, is not necessarily ISO date, it is YYYY-MM-DD foramt which is part of ISO.  You would likely do it:

isodate=put(your_date9_var,yymmdd10.);

E.g.:

data tmp;
  a="15FEB2015"d;
  b=put(a,yymmdd10.);
run;

View solution in original post

2 REPLIES 2
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Well, that example, is not necessarily ISO date, it is YYYY-MM-DD foramt which is part of ISO.  You would likely do it:

isodate=put(your_date9_var,yymmdd10.);

E.g.:

data tmp;
  a="15FEB2015"d;
  b=put(a,yymmdd10.);
run;
Reeza
Super User

Formats only control the display of the variable. 

If you need to change the format, use a format statement. This keeps your variable as a date so that you can do calculations later on, such as duration.

 

format variable yymmdd10.;

Otherwise, if you want a character variable use PUT() function as demonstrated in the other answer.

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


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
  • 2 replies
  • 17869 views
  • 4 likes
  • 3 in conversation