首页 >> 知识问答 >

问计算星期几的公式 快速掌握

2026-10-19 15:13:10

答

计算星期几的公式就是把一个公历日期拆成日期、月份、年份、世纪四个代码,相加后除以7,只用余数对应星期。这个办法的依据是星期每7天循环一次。你只需要先处理1月和2月,再套用一行公式,最后查代码表,就能得到答案。日常使用里,这套流程可以手算,也可以编程,适合快速确定公历日期的星期。

一、主公式

```text

H = (D + INT(13 × (M + 1) / 5) + Y + INT(Y / 4) + INT(C / 4) + 5 × C) mod 7

```

说明:

  • `INT` 表示取整,只保留整数部分。
  • `mod 7` 表示除以7取余数。
  • 算出的 `H` 是星期代码。
  • 最后对照星期代码表读取结果。

二、变量表

变量含义写法
D日期当月是几日就写几
M月份1月、2月要调整后使用
Y年份后两位调整后年份除以100取余
C世纪调整后年份除以100取整

三、月份处理

公历日期里的3月到12月可以直接使用。

1月和2月需要按前一年的月份处理。

原月份调整后写法年份处理
1月M = 13年份减1
2月M = 14年份减1
3月M = 3年份不变
4月M = 4年份不变
5月M = 5年份不变
6月M = 6年份不变
7月M = 7年份不变
8月M = 8年份不变
9月M = 9年份不变
10月M = 10年份不变
11月M = 11年份不变
12月M = 12年份不变

四、操作清单

  1. 写下公历年、月、日。
  2. 如果是1月或2月,把年份减1,月份变成13或14。
  3. 用调整后的年份求 `Y` 和 `C`。
  4. 把 `D`、`M`、`Y`、`C` 代入公式。
  5. 算出 `H`。
  6. 查星期代码表。

五、星期代码表

H星期
0星期六
1星期日
2星期一
3星期二
4星期三
5星期四
6星期五

六、示例一:2024年2月14日

第一步:处理月份

2月当作前一年14月,所以:

```text

D = 14

M = 14

年份调整为 2023

```

第二步:求年份代码和世纪代码

```text

Y = 2023 mod 100 = 23

C = INT(2023 / 100) = 20

```

第三步:代入公式

```text

H = (14 + INT(13 × (14 + 1) / 5) + 23 + INT(23 / 4) + INT(20 / 4) + 5 × 20) mod 7

```

逐项计算:

```text

INT(13 × 15 / 5) = INT(195 / 5) = 39

INT(23 / 4) = 5

INT(20 / 4) = 5

5 × 20 = 100

```

合计:

```text

H = (14 + 39 + 23 + 5 + 5 + 100) mod 7

H = 186 mod 7

H = 4

```

查表:

```text

H = 4,对应星期三

```

所以,2024年2月14日是星期三。

七、示例二:2026年6月30日

第一步:处理月份

6月直接使用:

```text

D = 30

M = 6

Y = 26

C = 20

```

第二步:代入公式

```text

H = (30 + INT(13 × (6 + 1) / 5) + 26 + INT(26 / 4) + INT(20 / 4) + 5 × 20) mod 7

```

逐项计算:

```text

INT(13 × 7 / 5) = INT(91 / 5) = 18

INT(26 / 4) = 6

INT(20 / 4) = 5

5 × 20 = 100

```

合计:

```text

H = (30 + 18 + 26 + 6 + 5 + 100) mod 7

H = 185 mod 7

H = 3

```

查表:

```text

H = 3,对应星期二

```

所以,2026年6月30日是星期二。

八、日常使用建议

  • 手算时,可以先把每个小项单独算出来。
  • 编程时,只需要写取整、乘加、取余三步。
  • 查表时,只需要记住结果代码和星期的对应关系。
  • 如果日期是1月或2月,先做月份转换,再进入公式。

九、公式思路小结

计算星期几的公式的核心思路是把日期信息变成数字,然后利用7天循环做取余。

日期提供当月位置,月份代码提供月份偏移,年份和世纪代码提供长期循环偏移。

这些部分相加后,星期循环只关心余数,不关心完整总和。

【常见问题】

问题1:计算星期几的公式适合哪些日期?

回答1:计算星期几的公式适合公历日期。只要知道年、月、日,就可以用计算星期几的公式确定星期代码。

问题2:使用计算星期几的公式时,1月和2月怎样处理?

回答2:使用计算星期几的公式时,1月写成前一年13月,2月写成前一年14月。这样能让月份代码保持连续,计算星期几的公式也能稳定读取结果。

问题3:计算星期几的公式算出 H 后怎么读结果?

回答3:计算星期几的公式算出的 H 是星期代码,直接查星期代码表就能得到答案。计算星期几的公式的结果是 0 到 6 之间的整数。

问题4:计算星期几的公式能不能用于编程?

回答4:计算星期几的公式很适合编程。计算星期几的公式主要用到取整和取余,很多语言都可以直接实现。

问题5:想快速使用计算星期几的公式,最简路径是什么?

回答5:最简路径是先判断月份,再代入计算星期几的公式,最后查表。使用计算星期几的公式时,顺序固定:调整月份、拆出年份、求余数、读星期。

免责声明:本内容为通用计算方法说明,适用于公历日期的星期判断示例;实际使用时请以日历工具显示的日期和星期为准。

  免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。

 
分享:
最新文章