How to find out number of Fridays in a month?

1 view (last 30 days)
Kevin
Kevin on 11 Aug 2022
Answered: Cris LaPierre on 11 Aug 2022
I guess I can use lweekdate and nweekdate. Just wondering if there is a faster way to do this.

Answers (2)

Stephen23
Stephen23 on 11 Aug 2022
Here is a really simple approach using CALENDAR():
M = calendar(2022,8);
N = nnz(M(:,6))
N = 4
Otherwise you could try using a DATETIME array:
D = datetime(2022,8,1);
V = D:D+calmonths(1)-caldays(1);
N = nnz(weekday(V)==6)
N = 4

Cris LaPierre
Cris LaPierre on 11 Aug 2022
Not sure what your current code is, but what about something like this using weekday?
year = 2022;
month = 4;
dt = datetime(year,month,1):caldays(1):dateshift(datetime(year,month,1),'end',"month");
dys = weekday(dt)
dys = 1×30
6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7
nFr = sum(dys==6)
nFr = 5

Tags

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!