Hello, I have a number that represents the number of days from January 1 of any year with January 1 as day 1. For example 10 will be January 10.
Using SAS how can I convert that number into day and month for example 10 = 01/10?
Thanks.
Pramodini
OK, it's easy enough to split this in two. These statements assume that your original variable is numeric. If it is actually character, the statements would change slightly.
year = int(juldateval / 1000);
days = mod(juldateval, 1000);
newdate = mdy(1, 1, year) + days - 1;
format newdate mmddyys10.;
How do you intend to supply the year? Getting the correct answer depends on whether or not it is a leap year.
I have 1956229 as input field that should translate into 8/16/1956
Where is the data from? I mean I can see year=1956 as first four characters, but the rest doesn't make sense and formating as date value is wrong.
1956229 as a field in which the year is 1956 and 229 is the 229th day of year 1956 that is August 16th which should display as 8/16/1956
OK, it's easy enough to split this in two. These statements assume that your original variable is numeric. If it is actually character, the statements would change slightly.
year = int(juldateval / 1000);
days = mod(juldateval, 1000);
newdate = mdy(1, 1, year) + days - 1;
format newdate mmddyys10.;
THANKS!! that works.
There already is a funtion to do that .
data _null_;
Xend=datejul(2001001);
put Xend / Xend date9.;
run;
Thank You. Let me try this.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.