Hi,
I have a question about how to calculate the numbers of specific days between two dates? For example, row 1 of the listed data has 34 Mondays plus Wednesdays and Saturdays between 8/29/2016 and 11/15/2016, how to program it?
| d_start1 | d_end1 |
| 8/29/2016 | 11/15/2016 |
| 8/29/2016 | 12/10/2016 |
| 8/29/2016 | 12/20/2016 |
| 8/29/2016 | 12/20/2016 |
| 8/29/2016 | 8/30/2016 |
| 8/29/2016 | 11/9/2016 |
| 8/29/2016 | 12/20/2016 |
| 8/29/2016 | 12/20/2016 |
| 8/29/2016 | 12/20/2016 |
| 8/29/2016 | 11/16/2016 |
Thank you.
Ying Ker
There may be shorter ways, but brute force is always a possibility:
n_Mondays=0;
n_Wednesdays=0;
n_Saturdays=0;
do i=d_start to d_end;
wd = weekday(i);
if wd=2 then n_Mondays + 1;
else if wd=4 then n_Wednesdays + 1;
else if wd=7 then n_Saturdays + 1;
end;
Thank you.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.