ISO 8601 周数的规则
ISO 8601 规定:每周从周一开始到周日结束;一年的第 1 周是包含当年 1 月 4 日的那一周,等价于“包含当年第一个周四的那一周”。因此 1 月 1 日不一定属于第 1 周:如果它是周五、周六或周日,就属于上一年的最后一周(第 52 或 53 周);同样,12 月 29 日到 31 日也可能属于下一年的第 1 周。例如 2026 年 1 月 1 日是周四,属于 2026 年第 1 周;2027 年 1 月 1 日是周五,属于 2026 年第 53 周。
一年有 52 或 53 个 ISO 周:当 1 月 1 日是周四,或者闰年的 1 月 1 日是周三时,该年有 53 周,其余年份为 52 周。这套规则被欧洲企业、物流、ERP 系统广泛采用,Excel 的 ISOWEEKNUM 函数、Python 的 isocalendar() 返回的都是这个周数。
与其他周数口径的区别
美国和部分日历软件按“周日为一周开始、1 月 1 日所在的周为第 1 周”计算,Excel 的 WEEKNUM(日期,1) 就是这种口径,结果可能比 ISO 周数多 1,年初年末甚至相差一整周。本工具同时给出两种周数,方便对照。
“当年第几天”从 1 月 1 日算作第 1 天,平年共 365 天、闰年 366 天,剩余天数等于全年天数减去当天序号。季度按 1–3 月为第一季度、4–6 月为第二季度依次划分。周一至周日的日期范围按 ISO 口径给出,跨年时会显示两个年份。