跳到主要内容
CalcMax

日历计算器

结果

星期六

星期几

当月第几天
19
当月天数
30 天
1 号是星期几
星期二
月末是星期几
星期三
休息日
8 天
横跨几个 ISO 周
5

输入任意一个日期,这个日历计算器同时回答两件事:这一天是星期几,以及它所在的这个月有多少天。月份那一组数字还包括:1 号是星期几、月末是星期几、这个月有几个周末日,以及它横跨几个 ISO 周。想知道一个月有几周、排班怎么落、或者发薪日会不会撞上周末,都能从这一个日期读出来。这些数字与你所在的时区无关——日历日期就是日历日期,公元 1 年到 9999 年都一样。

公式

某个日期的星期几由格里高利历(公历)直接决定;其余每个数字描述的都是这个日期所在的那个月,而不是这个日期本身

date
0001-01-01 到 9999-12-31 之间的任意一天;它决定描述的是哪个月
weekday
这一天是星期几,从星期日开始数(0 是星期日)
daysInMonth
这个月有多少天:28、29、30 或 31
firstWeekday
1 号是星期几,它决定了整个月的排布
weekendDays
这个月里有几个周六和周日:8、9 或 10 个
isoWeeks
这个月横跨几个不同的 ISO 周序号:4、5 或 6 周

需要把一个日期放进它所在的月份里看时用它,而不是算两个日期之间的间隔:排班怎么对齐、1 号是不是周一、这个月能空出几个周末、某次到货落在第几周。这些问题只需要一个日期,不必先填年份和月份。它不画月历表格,也不认识法定节假日——这里的周末日永远是周六加周日,与你们国家的休息日安排无关。

算例

  1. 2026 年 9 月 19 日

    1. 所在的月份是 2026 年 9 月,共 30 天
    2. 2026 年 9 月 1 日是星期二,所以这个月从一周的第 2 天开始
    3. 9 月 30 日是星期三,月末落在第 3 天——整月正好是四周零两天
    4. 周六和周日各出现四次,周末日合计 8 天
    5. 这个月横跨五个不同的 ISO 周序号,因为它起于周中、也止于周中

    月初和月末这两个星期序号,决定了一份四周制的排班能不能正好铺满。只有 1 号是星期一、月末是星期日的月份才行。

  2. 2021 年 1 月 31 日——跨了 ISO 年份的一个月

    1. 2021 年 1 月 1 日是星期五,而 ISO 周从星期一开始——所以那一周的星期四落在 2020 年 12 月 31 日
    2. 于是 1 月 1 日整体属于 2020 年的第 53 周,而 1 月 31 日属于 2021 年的第 4 周
    3. 2021 年 1 月 31 日是星期日,这个月有 31 天
    4. 这个月里有五个星期六和五个星期日,所以周末日是 10 天而不是常见的 8 天
    5. 但它仍然只横跨五个 ISO 周序号:53、1、2、3、4

    这就是那个会让「想当然的写法」出错月份。拿最后一个周序号减第一个会得到 4 减 53,那根本不是一个数量。数「这个月实际碰到哪几个周序号」是唯一能扛过一月的写法。

  3. 2024 年 2 月 29 日——闰年的二月

    1. 2024 能被 4 整除且不是整百年,所以二月有 29 天
    2. 2024 年 2 月 1 日和 2 月 29 日都是星期四——相隔 28 天,而 28 是 7 的倍数
    3. 所以这个月的第一天和最后一天是同一个星期几,这只有闰年的二月才会出现
    4. 周末日 8 天,横跨 5 个 ISO 周

    平年的二月只有 28 天,同样首尾同一天——但 2026 年落在星期三、2027 年落在星期六。是闰年让整个月与星期的对齐关系保持住了。

局限

周末日永远按周六加周日计算。周五周六休息的地区、或者只有周日休息的人,看到的数字会与自己的实际一周对不上——要自选休息日口径请用工作日计算器。法定节假日也没有扣除,这里没有任何内置的节假日表:这一页回答的是「日历上印着什么」,不是「哪几天真的不用上班」。这一页没有月历表格,因为参考表是构建期一次性生成的,看不到你输入的日期;上面那七个数字就是一张月历能告诉你的东西。全部按格里高利历(公历)前推计算,1582 年以前不做任何历法改革,年份范围是 1 到 9999。

常见问题

只看一个日期,怎么知道今天是星期几?
把日期填进去,第一个结果就是星期几。星期几只由日历日期决定,与你读这个页面的时区无关:2026 年 9 月 19 日在任何国家都是星期六。它所在的 9 月有 30 天,1 号是星期二,30 号是星期三。
每个月分别有多少天?
七个月有 31 天,四个月有 30 天,二月是 28 天或 29 天。31 天的是 1、3、5、7、8、10、12 月;30 天的是 4、6、9、11 月。二月在能被 4 整除的年份有 29 天,但整百年必须能被 400 整除才算——所以 2024 年有 29 天,2100 年只有 28 天。
一个月里有几个周末日?
通常是 8 个,偶尔 9 个或 10 个。30 天的月份是四周零两天,于是有两个星期几会多出一次;如果多出来的正好是周六和周日,这个月就有 10 个周末日,2021 年 1 月就是这样。31 天的月份里出现五个星期六加五个星期日,是另一种 10 天的情况。
一个月有几周?
看你怎么数:4、5 或 6 周。按这个月实际横跨几个 ISO 周序号来数,多数月份是 5 周,6 周只有两种情况——31 天且 1 号是星期六,或者 30 天且 1 号是星期日。要数到 4 周,得是正好 28 天、且 1 号是星期一的二月:1 号是一个 ISO 周的第一天,28 号是那一周的最后一天。
为什么要在意每月第一天是星期几?
因为它定下了整个月的排布。30 天、1 号是星期二的月份,月底落在星期三,于是有两个星期几会多出一次,这直接决定一份四周制的排班会不会溢出到下个月。它也能让你一眼看出这个月是不是从周末开始,那会连带影响这个月里所有的发薪日和到货窗口。

参考资料

相关计算器