跳转到正文

星期几计算器

输入公元 1 年至 9999 年间的任意日期,即可查出它当天是星期几,或将是星期几。可选择前推的公历或儒略历,也可选择某个国家当时实际使用的历法,并借助蔡勒公式与约翰·康威的末日算法逐步演算出结果。完全在您的浏览器中运行,不会上传任何内容。

旧文件中的日期采用的是当时该国所用的历法。选择那个地点,即可正确读取。

请输入年份和日期。

如何使用星期几计算器

  1. 1. 输入日期。 输入年份,选择月份,然后输入日期。表单默认为今天的日期。
  2. 2. 选择历法。 公历将今天的历法向前推算;儒略历则推算旧历。若要读取旧文件中的日期,请选择一个地点,如英国、法国、俄国等,计算器会按该地在当天所用的历法读取这个日期。
  3. 3. 读取星期。 结果包括星期名称、ISO 星期序号(星期一为 1,星期日为 7)、年内第几天、是否为闰年,以及同一天在另一种历法中的日期。
  4. 4. 查看计算过程。 两个表格展示蔡勒公式与末日算法如何得出结果。两者都会与一个绝不出错的日数计算核对。

三种推算星期的方法

最可靠的方法是数日数。从一个固定起点开始为每一天编号,再对 7 取余数;起始日的星期便决定了其余一切。计算器以此为参照,采用 Reingold 与 Dershowitz 的固定日系统,参见 Calendrical Calculations: The Ultimate Edition(Cambridge University Press,2018)。

蔡勒公式由克里斯蒂安·蔡勒于 1880 年代发表,它将同样的计数压缩为一个公式。对公历而言,公式为 h = (q + ⌊13(m + 1)/5⌋ + K + ⌊K/4⌋ + ⌊J/4⌋ + 5J) mod 7,其中 q 为月中日期,m 为月份(三月计为 3,二月计为 14,一月和二月属于前一年),K 为世纪内的年份,J 为世纪。结果 h 为 0 时表示星期六,1 为星期日,依此类推,6 为星期五。儒略历版本将最后两项替换为 5 − J。

约翰·康威的末日算法是为心算设计的。在任何一年中,2 月的最后一天、4 月 4 日、6 月 6 日、8 月 8 日、10 月 10 日和 12 月 12 日都落在同一个星期;5 月 9 日、9 月 5 日、7 月 11 日和 11 月 7 日也同属一个星期。这个星期即为该年的末日。一月的末日是 3 日(闰年为 4 日),二月的末日是 28 日(闰年为 29 日),三月的末日是 14 日。先求出该年的末日,再从最近的末日日期往后数即可。

公历各世纪的锚定日
年份锚定日
1700–1799星期日
1800–1899星期五
1900–1999星期三
2000–2099星期二
2100–2199星期日

某年的末日等于锚定日加上 ⌊y/12⌋ + (y mod 12) + ⌊(y mod 12)/4⌋ 天,其中 y 为年份的最后两位数字。公历的锚定日每 400 年重复一次,因为 400 年恰好是 20,871 周。儒略历的规律每 700 年重复一次。

示例

  • 1969 年 7 月 20 日,即阿波罗 11 号登月之日,是星期日。蔡勒公式:q = 20,m = 7,K = 69,J = 19,因此 h = (20 + 20 + 69 + 17 + 99) mod 7 = 225 mod 7 = 1,即星期日。末日算法:1900 年代的锚定日是星期三,1969 年再加 2 天,末日为星期五;7 月 11 日是末日,7 月 20 日比它晚 9 天,也就是星期五之后的 2 天,即星期日。
  • 2026 年 10 月 17 日是星期六。2026 年的末日是星期六,10 月 10 日是末日,因此一周后的 10 月 17 日同样是星期六。
  • 1066 年 10 月 14 日,即黑斯廷斯战役之日,在当时使用的儒略历中是星期六。若按公历读取,同一天的日期写作 10 月 20 日。

前推或历史日期

当各国从儒略历改用公历时,七天的周期并未中断:1582 年 10 月 4 日(星期四)之后的一天是星期五,西班牙、葡萄牙和意大利称之为 10 月 15 日。在英国及其殖民地,1752 年 9 月 2 日(星期三)之后的一天是 9 月 14 日(星期四)。因此,同一个日期在两种历法中的星期相同,但日期的标签不同。1500 年 1 月 1 日在前推的公历中是星期一,在儒略历中是星期三。若一封信件、一本登记册或一份条约所注明的日期采用的是其所在国当时的历法,请在此选择该国,答案便与原件一致。历法转换时被跳过的日期标签(如西班牙的 1582 年 10 月 5 日至 14 日)会被拒绝。

常见问题

我出生那天是星期几?
选择公历并输入出生日期,结果会给出星期、年内第几天,以及完整的蔡勒公式与末日算法计算过程。若出生日期早于 20 世纪,只有当记录使用的是早于该国历法改革的旧式日期时,才应选择该国的历法。
什么是蔡勒公式?
它是一个公式,可以由日、月、年求出任意日期的星期。一月和二月被视为上一年的第 13 和第 14 个月,这样闰日便位于计算年度的末尾,使公式保持简洁。除以 7 所得的余数即为星期,从星期六记为 0 开始计算。
末日算法如何运作?
每一年都有一个末日:即一个星期几,会落在 4 月 4 日、6 月 6 日、8 月 8 日、10 月 10 日和 12 月 12 日等易记的日期上。先取该世纪的锚定日,加上该年的偏移量得到该年的末日,然后从最近的末日日期数到您要查的日期。熟练之后,心算只需几秒钟。
星期五 13 日多久出现一次?
每个日历年至少出现一次,至多三次。公历每 400 年循环一次,在这个周期中,13 日为星期五的情况出现 688 次,多于其他任何星期几(其他各日为 684 至 687 次)。差异很小,但星期五 13 日确实比星期一或星期六 13 日略为常见。
公历推行时星期是否发生了变化?
没有。各国在日期计数中删去了 10 至 13 天,但星期的循环并未中断。这就是为什么在采用儒略历的英格兰某个星期五写下的信件,与在采用公历的法国同一天写下的信件,日期不同而星期相同。这也可以用来核对历法转换是否正确。
计算器能推算多远的年份?
从公元 1 年 1 月 1 日到 9999 年 12 月 31 日,可以按公历或儒略历推算。在该历法出现之前的日期采用前推方式:就像这一历法一直在使用那样向前倒推。当时的人是否以这种方式知道星期,则是另一回事,但星期本身是精确的。

相关工具

单位、日期与数字转换中的更多工具