ISO 周数详解
为什么 1 月 1 日并不总是落在第 1 周,ISO 8601 标准如何定义周,以及美式和欧式周数编号在哪里存在分歧。
最后更新: 2026-07-15
在 ISO 8601 标准下,一周从周一开始,而任何一年的第 1 周,就是包含该年第一个周四的那一周。一个等价、也更好记的判据是:第 1 周就是包含 1 月 4 日的那一周。每个 ISO 周都恰好有七天,并且完整地归属于某一个周编号年,正是这一点让这套系统在薪资、生产排程和数据库中都可靠。
由此带来一个出人意料的结果:1 月最初的那几天不一定落在第 1 周,12 月最后的那几天也不一定落在全年最后一周。因为一周不允许被拆分到两个编号年里,日历年和 ISO 周编号年会在每个交界处相差几天。只有当 1 月 1 日落在周一到周四时,它才归入第 1 周;否则它属于上一年的最后一周。
第一个周四规则,以及为什么是周四
这条规则听起来很随意,直到你注意到它所保证的东西:拥有某一周的那个年份,是在这一周里占据多数天数的那个年份。一个从周一到周日的星期,其中点落在周四。所以「包含第一个周四的那一周」正是「第一个在新年里的天数多于旧年的那一周」。这一个选择让周数保持稳定,也避免了只有一两天的残缺周。
以 2026 年为例。2026 年 1 月 1 日是周四,所以从 2025 年 12 月 29 日(周一)到 2026 年 1 月 4 日(周日)这一周包含了那个周四,成为 2026 年的第 1 周。因此 2025 年 12 月 29、30、31 日尽管在日历上属于 2025 年,却标记为 2026-W01。再对比 2028 年:2028 年 1 月 1 日是周六。它所在的那一周(12 月 27 日周一到 1 月 2 日周日)的周四落在 12 月,所以那一周仍是 2027 年的第 52 周,而 2028 年 1 月 1 日写作 2027-W52。
为什么有些年份有 53 周
平年有 365 天,即 52 周零 1 天;闰年多出两天。这些多出来的天数不断累积,直到偶尔某一年需要第 53 周来容纳它们。规则算下来很干净:当 1 月 1 日落在周四,或者在闰年里 1 月 1 日落在周三时,这一年就有 53 个 ISO 周。
2026 年是教科书般的例子。它的 1 月 1 日是周四,所以是一个 53 周的年份,2026 年 12 月 31 日落在 2026-W53。2020 年则展示了闰年那一分支:2020 年 1 月 1 日是周三,且 2020 年是闰年,因此它同样有 53 周。大多数年份是普通的 52 周年份;在每 400 年的循环里,第 53 周只出现 71 次,大约每五到六年一次。
12 月归入下一年,1 月归入上一年
因为整整一周必须归属于一个年份,边界可以向两个方向溢出,两种情形都值得一看:
- 12 月归入下一年。2024 年 12 月 30 日是周一,它所在的那一周包含 2025 年 1 月 1 日至 2 日,其周四在 1 月,所以它是 2025-W01。日期在 2024 年,其周数却是 2025 年的一周。
- 1 月归入上一年。2021 年 1 月 1 日是周五。它所在这一周的周四落在 2020 年 12 月 31 日,所以 2021 年 1 月 1 日写作 2020-W53。同理,2022 年 1 月 1 日是 2021-W52。
正因如此,严谨的系统会把完整的周编号年和周数一起记录——写作 2025-W01,而不是光秃秃的「第 1 周」——并且绝不假设周年份就等于该日期的日历年。
美式惯例的不同之处
北美的日历通常根本不遵循 ISO 8601。常见的美式惯例以周日作为一周的开始,并把第 1 周定义为包含 1 月 1 日的那一周,无论那天是星期几。在这套方案下,1 月 1 日永远在第 1 周,而一年总是以半截周开头,而不是从一个干净的周一开始。
这两套系统在两个维度上都不一致——一周的第一天,以及哪一周编号为 1——所以对于同一个日期,它们常常返回不同的数字。两者都没错;它们回答的是不同的问题。麻烦从这里开始:一张基于某套惯例建立的电子表格,去喂给一份假设了另一套惯例的报表。
悄悄不一致的电子表格函数
电子表格两套惯例都提供,而默认的那套并不是 ISO 的。在 Excel 和 Google Sheets 中,WEEKNUM 默认采用美式风格:一周从周日开始,含 1 月 1 日的那一周为第 1 周。要得到 ISO 编号,你需要用 ISOWEEKNUM(或者把 WEEKNUM 的返回类型参数设为 21)。下表显示了它们在同一个日期上能相差多远。
| 日期 | 星期 | ISO 周(ISOWEEKNUM) | 美式周(WEEKNUM 默认) |
|---|---|---|---|
| 2022 年 1 月 1 日 | 周六 | 2021-W52 | 第 1 周 |
| 2026 年 12 月 31 日 | 周四 | 2026-W53 | 第 53 周 |
| 2028 年 1 月 1 日 | 周六 | 2027-W52 | 第 1 周 |
在你相信某个「第 1 周」之前,先确认它是哪个函数算出来的、以及一周是从哪一天开始的。哪怕只差一周,也会打乱同比周对比和排班表。
试一试
想不动算术就知道今天是第几周? 看看今天是 ISO 第几周, 或者查一下今天是星期几。 如果是闰年把你带到这里的,姊妹指南 闰年规则会解释那些让某些年份多出第 53 周的额外天数。