Desktop productivity for business analysts and programmers

Converting week and year variables to MM/DD/YYYY

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 14
Accepted Solution

Converting week and year variables to MM/DD/YYYY

I have variables in my data set for both the week number and year number.  I am looking for a way to convert them to a date column (MM/DD/YYYY or similar format).  I know how to convert from a date to week/year, but not vice versa.  Does anyone have any ideas?


Accepted Solutions
Solution
‎07-16-2013 10:45 AM
Super Contributor
Posts: 578

Re: Converting week and year variables to MM/DD/YYYY

You might be able to use date math to get to the first day of the week

FirstOfWeek = mdy(1,1,yearnum) + (7 * ( weeknum - 1));

or

intnx('week',mdy(1,1,yearnum),weeknum-1);

View solution in original post


All Replies
Super User
Posts: 19,194

Re: Converting week and year variables to MM/DD/YYYY

WeekW. informat

Here's one way, but probably not the neatest:

(EDIT: I've assumed the day to be 1, the first of the week, but you could change that by changing the 01 and the end of week_year)

data have;

input year week ;

cards;

2001    23  

2001    24  

2003    45  

2014    5  

2005    36  

2006    45  

2007    3  

;

run;

data want;

    set have;

    week_year=compress(year||"W"||put(week, z2.)||"01");

    date_want=input(week_year, weekw9.);

    format date_want date9.;

run;

Solution
‎07-16-2013 10:45 AM
Super Contributor
Posts: 578

Re: Converting week and year variables to MM/DD/YYYY

You might be able to use date math to get to the first day of the week

FirstOfWeek = mdy(1,1,yearnum) + (7 * ( weeknum - 1));

or

intnx('week',mdy(1,1,yearnum),weeknum-1);

Occasional Contributor
Posts: 14

Re: Converting week and year variables to MM/DD/YYYY

That was really helpful.  Thanks to both of you!

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

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