- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
For some reason I can not figure this out. I have a variable, 'date' that is a numeric variable and has SAS value dates. For example:
date=19632
Which refers to the date of 10/1/2013. I want create a new variable 'newdate' that has the mmddyy10. format.
How do I convert date to newdate?
Thanks!
Lorena
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Do you want it to be a SAS date variable with the proper format? Then do:
newdate = date;
format newdate mmddyy10.;
Or do you want it to be the string representation? Then do:
newdate = put(date,yymmdd10.);
which creates a character variable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Do you want it to be a SAS date variable with the proper format? Then do:
newdate = date;
format newdate mmddyy10.;
Or do you want it to be the string representation? Then do:
newdate = put(date,yymmdd10.);
which creates a character variable.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
The flexibility of SAS date formats is one of the, IMHO, great features. Plus you have the ability to create custom ones as well.
The format controls the appearance for display and in analysis procedures can also be used to assign bins for grouping.
Except for some odd uses I recommend leaving date values as numeric as long as possible and just assign the format as desired for any specific use. Formats may be permanently assigned to the variable at creation but overridden with a format statement in any procedure.
data _null_; date=19632; put 'Date in date9. format=' date date9.; put 'Date in mmddyy10. format=' date mmddyy10.; put 'Date in worddate. format=' date worddate.; put 'Date in Julian format=' date Julian.; put 'Date in year quarter format=' date YYQs.; run;