How to find out number of Fridays in a month?

1 回表示 (過去 30 日間)
Kevin
Kevin 2022 年 8 月 11 日
回答済み: Cris LaPierre 2022 年 8 月 11 日
I guess I can use lweekdate and nweekdate. Just wondering if there is a faster way to do this.

回答 (2 件)

Stephen23
Stephen23 2022 年 8 月 11 日
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 2022 年 8 月 11 日
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

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

タグ

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by