Zeller公式详解:计算某一天是星期几

在日常生活或者编程中,我们经常需要计算某一天是星期几。

对于这个问题,有一个非常著名的解决方案,那就是Zeller公式

本文将详细介绍Zeller公式,以及如何使用它来计算任意日期是星期几。

1. Zeller公式简介

Zeller公式是由美国数学家克里斯蒂安·泽勒(Christian Zeller)在1887年提出的。

这个公式可以用于计算任何一个公历日期对应的星期几。

2. Zeller公式定义

Zeller公式的定义如下:

h = (q + [13(m+1)/5] + K + [K/4] + [J/4] + 5J) mod 7

其中,

  • h 是星期几(0=星期六,1=星期日,2=星期一,…,6=星期五);
  • q 是日(1-31);
  • m 是月份(1=3月,2=4月,…,12=2月,注意1月和2月被视为上一年的13月和14月);
  • K 是世纪年(即年份去掉前两位数字后的部分);
  • J 是世纪(即年份的前两位数字)。

注意,[]代表向下取整运算。

3. Zeller公式使用案例

假设我们要计算2023年5月19日是星期几。

首先,我们需要将年份、月份和日期对应到Zeller公式的K、J、m和q中。

在这个例子中,

  • q = 19;
  • m = 5;
  • K = 23;
  • J = 20。

将这些值带入公式,我们得到:

h = (19 + [13 * 6 / 5] + 23 + [23 / 4] + [20 / 4] + 5 * 20) mod 7

计算结果是2,所以2023年5月19日是星期一。

4. 结语

通过Zeller公式,我们可以非常方便地计算任何一个公历日期对应的星期几。

阅读剩余
THE END