日期与星期快速口算模型

核心概念:月份基准(Baseline)

每月1日的星期 = 当月 Baseline

2026年4月:1日 = 周三(Wed) → Baseline = 3(若 Mon=1…Sun=7)


速算公式

已知1号是星期W,求D号是星期几

weekday(d) = (W + d - 1) % 7   (0=Sun 或 按自定义编码)

编码方案(推荐):Sun=0, Mon=1, Tue=2, Wed=3, Thu=4, Fri=5, Sat=6


互算公式速查

已知 → 求 公式
W + d → 星期 (W + d - 1) % 7
W + 星期x → 最近日期 找锚点 1/8/15/22/29,锚点偏移 (x - W + 7) % 7
星期 + d → 逆推W W = (weekday - d + 1 + 7k) % 7
本月W → 下月W (W + 本月天数) % 7
跨n月W 累加各月天数之和 % 7

口算捷径:(W + d - 1) 先减7的倍数凑小数,再看余数对应星期。

公式验证(4月,W=3) 计算 结果
4/1 (3+1-1)%7=3 Wed ✓
4/5 (3+5-1)%7=0 Sun ✓
4/19 (3+19-1)%7=0 Sun ✓

黄金锚点:同星期日期间隔7的倍数

1日是星期W → 以下日期全部是星期W:

1, 8, 15, 22, 29

推论:

4月示例(基准=Wed): 1/8/15/22/29 → 全是 Wed
5/12/19/26 → 全是 Sun(Wed+3=Sat? 不对,4/5=Sun,So +4=Sun)
(实际:1是Wed=3,5是 3+4=7%7=0=Sun ✓)

各偏移一览(基准=Wed=3):

偏移+0 偏移+1 偏移+2 偏移+3 偏移+4 偏移+5 偏移+6
Wed Thu Fri Sat Sun Mon Tue
1,8,15,22,29 2,9,16,23,30 3,10,17,24 4,11,18,25 5,12,19,26 6,13,20,27 7,14,21,28

跨月推算:本月天数决定下月基准偏移

本月天数 30%7余数 下月1日偏移
28天(2月平年) 0 +0,同星期
29天(2月闰年) 1 +1天
30天(4/6/9/11月) 2 +2天
31天(1/3/5/7/8/10/12月) 3 +3天

4月(30天)基准=Wed=3 → 5月1日 = 3+2=5=Fri ✓


常见问题情形与速算步骤

情形1:已知某日,求同月另一日

思路:算差值,% 7 得偏移

已知 4/19 = Sun
求  4/25 = ?
差值 = 25-19 = 6
Sun + 6 = Sat

情形2:已知1号星期,求任意日期

思路:定位到最近锚点(1/8/15/22/29),再微调

已知 4/1 = Wed,求 4/23 = ?
最近锚点:22 = Wed
23 = 22+1 → Thu

情形3:已知某日,求下月同号

思路:下月偏移 = 本月天数 % 7

4/15 = Wed(4月30天,偏移+2)
5/15 = Wed+2 = Fri

情形4:已知某日,逆推1号是星期几

思路:1号 = 该日星期 - (D-1) % 7

已知 4/19 = Sun=0
1号偏移 = (19-1)%7 = 18%7 = 4
1号 = Sun - 4 = 0-4 = -4 ≡ 3 (mod 7) = Wed ✓

上中下旬速查表(以当月1日=X为基准)

上旬(1~10):
  1=X  2=X+1  3=X+2  4=X+3  5=X+4  6=X+5  7=X+6
  8=X  9=X+1  10=X+2

中旬(11~20):
  11=X+3  12=X+4  13=X+5  14=X+6  15=X
  16=X+1  17=X+2  18=X+3  19=X+4  20=X+5

下旬(21~31):
  21=X+6  22=X  23=X+1  24=X+2  25=X+3
  26=X+4  27=X+5  28=X+6  29=X  30=X+1  31=X+2

规律:每旬起点相对1日的偏移:上旬1日=+0,中旬1日(11日)=+3,下旬1日(21日)=+6


2026年各月基准速查(1日星期)

月份 1日 W值 上月天数→偏移
1月 Thu 4
2月 Sun 0 31天 +3
3月 Sun 0 28天 +0
4月 Wed 3 31天 +3
5月 Fri 5 30天 +2
6月 Mon 1 31天 +3
7月 Wed 3 30天 +2
8月 Sat 6 31天 +3
9月 Tue 2 31天 +3
10月 Thu 4 30天 +2
11月 Sun 0 31天 +3
12月 Tue 2 30天 +2

互算公式汇总

已知 → 求 公式
W + d → 星期 (W + d - 1) % 7
星期 + d → 逆推W (weekday - d + 1 + 7k) % 7
本月W → 下月W (W + 本月天数) % 7
W + 目标星期x → 最近锚点偏移 (x - W + 7) % 7,再对齐至 1/8/15/22/29
跨n月W 累加各月天数之和 % 7 后加初始W

编码:Sun=0 Mon=1 Tue=2 Wed=3 Thu=4 Fri=5 Sat=6



Tags:

← Back home