# Week number and day of year

> Week number for any date: ISO 8601 week and week-numbering year, US week number, day of the year, days left in the year and the quarter.

交互版本：https://www.calcopenly.com/zh/datetime/week-number-day-of-year
主题：日期与时间计算器

ISO 8601 weeks run from Monday to Sunday, and each week belongs to the year that contains its Thursday. Week 1 is therefore the week with the year's first Thursday, which is also the week containing 4 January. The calculator finds the Thursday of the date's week, takes its day of the year d, and computes ⌊(d − 1)/7⌋ + 1. It also gives the US-style number from Excel's WEEKNUM(date, 1), where weeks start on Sunday and week 1 is the week containing 1 January.

Week numbers appear in payroll periods, production plans and European business calendars. Near New Year the two systems part: 1 January 2027 is a Friday, so it falls in ISO week 53 of 2026 (2026-W53-5), while 30 December 2024 is already ISO week 1 of 2025 but US week 53 of 2024.

Day of the year counts 1 January as day 1, so 31 December is day 365, or 366 in a leap year.

## 输入

- **Date**

## 结果

- ISO week — 主要结果
- ISO week-numbering year
- ISO week date
- Day of the year
- Days left in the year
- Days in the year
- Quarter
- Weeks in that ISO year
- US week number (Sunday start)
- Year elapsed

## 公式

$$
\text{week} = \left\lfloor \frac{\text{day of year of that week's Thursday} - 1}{7} \right\rfloor + 1
$$

## 计算示例

### 1 January 2026 (a Thursday)

- Date: 2026-01-01
- **ISO week: 1**
- **ISO week-numbering year: 2026**
- **ISO week date: 2026-W01-4**
- **Day of the year: 1**
- **Days left in the year: 364**
- **Quarter: 1**
- **US week number (Sunday start): 1**
- 核验来源：Python 3.8: date(2026,1,1).isocalendar() = (2026, 1, 4); tm_yday = 1

### 1 January 2027 belongs to week 53 of 2026

- Date: 2027-01-01
- **ISO week: 53**
- **ISO week-numbering year: 2026**
- **ISO week date: 2026-W53-5**
- **Day of the year: 1**
- **Weeks in that ISO year: 53**
- 核验来源：Python 3.8: date(2027,1,1).isocalendar() = (2026, 53, 5)

### 30 December 2024 is in week 1 of 2025

- Date: 2024-12-30
- **ISO week: 1**
- **ISO week-numbering year: 2025**
- **Day of the year: 365**
- **Days left in the year: 1**
- **Quarter: 4**
- **US week number (Sunday start): 53**
- 核验来源：Python 3.8: date(2024,12,30).isocalendar() = (2025, 1, 1); tm_yday = 365 in a 366-day year

### Last day of a leap year

- Date: 2024-12-31
- **Day of the year: 366**
- **Days left in the year: 0**
- **Days in the year: 366**
- **Year elapsed: 100.0%**
- 核验来源：Python 3.8: date(2024,12,31).timetuple().tm_yday = 366

### Mid-January 2026

- Date: 2026-01-15
- **ISO week: 3**
- **ISO week date: 2026-W03-4**
- **Day of the year: 15**
- **Days left in the year: 350**
- **US week number (Sunday start): 3**
- 核验来源：Python 3.8: date(2026,1,15).isocalendar() = (2026, 3, 4); Excel WEEKNUM("2026-01-15",1) = 3

## 常见问题

### How many weeks are there in a year?

52 or 53 ISO weeks. A year has 53 when it starts on a Thursday, or when it is a leap year starting on a Wednesday; that happens in 71 of every 400 years. 2020 and 2026 have 53 weeks, and the next are 2032 and 2037. 52 weeks cover only 364 days, so the spare day or two each year build up until a 53-week year absorbs them, usually 5 or 6 years apart.

### Why do ISO and US week numbers differ?

They use different rules for the first week. ISO 8601 weeks start on Monday and week 1 contains the first Thursday of the year; Excel's ISOWEEKNUM follows this rule. The US convention, Excel's WEEKNUM with return type 1, starts weeks on Sunday and makes week 1 the week that contains 1 January, even if that week has only one day of the new year.

### Can 1 January fall in week 52 or 53?

Yes, under ISO 8601 when 1 January is a Friday, Saturday or Sunday. 1 January 2027 is a Friday, so it belongs to week 53 of 2026 and ISO week 1 of 2027 starts on Monday 4 January. 1 January 2028 is a Saturday and falls in week 52 of 2027. In the other direction, 29 to 31 December can belong to week 1 of the next year.

### Is the day of the year the same as the Julian date?

Only in informal use. In manufacturing and logistics a day-of-year code is often called a Julian date: 26 September 2026 is day 269, written 26269 in YYDDD form. Astronomers mean something else by Julian Day, a continuous count of days from 1 January 4713 BC in the Julian calendar; noon UTC on 26 September 2026 is Julian Day 2,461,310.

### “Week number and day of year”有多准确？

准确性取决于输入值和方法的假设。十进制运算使用50位有效数字，但估算、数值方法和源数据的精度可能较低；显示时的舍入并不能消除这些限制。 已按独立来源核验的计算示例：5。 例如，“1 January 2026 (a Thursday)”根据Python 3.8: date(2026,1,1).isocalendar() = (2026, 1, 4); tm_yday = 1进行核验。

### 这种方法出自哪里？

ISO 8601-1:2019, §5.2.4 — week dates; Microsoft Excel ISOWEEKNUM and WEEKNUM functions.

## 来源

- ISO 8601-1:2019, §5.2.4 — week dates
- [Microsoft Excel ISOWEEKNUM and WEEKNUM functions](https://support.microsoft.com/office/weeknum-function-e5c43a03-b4ab-426c-b411-b18c13c75340)
