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 ?
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;
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;
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.
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.
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.
Ready to level-up your skills? Choose your own adventure.