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

Categories

Find more on Dates and Time in Help Center and File Exchange

Tags

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!