曜日計算

西暦年月日から曜日を求める「月コード法」を可視化します。 各項を mod7\bmod 7 で折りたたみ、最終的な曜日インデックスを導きます。

公式

年の下2桁を yy、世紀コードを CC、 月コードを mm、日を DD とすると、 曜日インデックス ww は次式で求まります。

w=(D+m+y+y/4+C)mod7w = (D + m + y + \lfloor y/4 \rfloor + C) \bmod 7

w=0w = 0 が日曜日、w=6w = 6 が土曜日です。 閏年の1月・2月は月コードから 11 を引いて補正します。

Explainer

2026-09-12Saturday / 土曜日
9平年
w = (D + m + y + ⌊y/4⌋ + C) mod 7
入力日付2026-09-12
世紀コード (C)62000年代の世紀コード: 6
年下2桁 (y)262026 の下2桁: 26
%75
floor(y/4)6floor(26/4) = 6
年コード (y+⌊y/4⌋)%74(26 + 6) % 7 = 4
月コード (m)59月のコード: 5
日 (D)12日付の日: 12
%75
合計276 + 5 + 6 + 5 + 5 = 27
mod 76
Saturday / 土曜日
世紀コード (C)
6/-1
4
2
0
15xx
16xx
17xx
18xx
19xx
20xx
21xx
22xx
23xx
24xx
25xx
26xx
27xx
月コード (m)
0
1
2
3
4
5
6/-1
1
0
2
3
3
3
4
6
5
1
6
4
7
6
8
2
9
5
10
0
11
3
12
5
0: 1,10月swap: 4↔63: 2,3月→4月=6chain: 9,12→5→13: 11月暗記: 7,8月
0
1
2
3
4
5
6
年コード — グループ別
0:0006172328344551566273798490
1:010712182935404657636874859196
2:0213192430414752586975808697
3:030814253136425359647081879298
4:0915202637434854657176829399
5:0410212732384955606677838894
6/-1:0511162233394450616772788995
年コード (y+⌊y/4⌋)%7 — 28区切り
000
011
022
033
045
056
060
071
083
094
105
116
121
132
143
154
166
170
181
192
204
215
226
230
242
253
264
275
280
291
302
313
325
336
340
351
363
374
385
396
401
412
423
434
446
450
461
472
484
495
506
510
522
533
544
555
560
571
582
593
605
616
620
631
643
654
665
676
681
692
703
714
726
730
741
752
764
775
786
790
802
813
824
835
840
851
862
873
885
896
900
911
923
934
945
956
961
972
983
994
年コード (y+⌊y/4⌋)%7 — 10区切り
000
105
204
302
401
506
605
703
802
900
011
116
215
313
412
510
616
714
813
911
022
121
226
325
423
522
620
726
824
923
033
132
230
336
434
533
631
730
835
934
045
143
242
340
446
544
643
741
840
945
056
154
253
351
450
555
654
752
851
956
060
166
264
363
461
560
665
764
862
961
071
170
275
374
472
571
676
775
873
972
083
181
280
385
484
582
681
786
885
983
094
192
291
396
495
593
692
790
896
994