# 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.

Interactive version: https://www.calcopenly.com/datetime/week-number-day-of-year
Subject: Date and time calculators

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.

## Inputs

- **Date**

## Results

- ISO week — main result
- 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

## Formula

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

## Worked examples

### 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**
- Checked against: 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**
- Checked against: 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**
- Checked against: 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%**
- Checked against: 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**
- Checked against: Python 3.8: date(2026,1,15).isocalendar() = (2026, 3, 4); Excel WEEKNUM("2026-01-15",1) = 3

## Questions

### 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.

### How accurate is the week number and day of year calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 5 worked examples whose answers come from independent sources; for example, “1 January 2026 (a Thursday)” is checked against Python 3.8: date(2026,1,1).isocalendar() = (2026, 1, 4); tm_yday = 1.

### Where does the method come from?

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

## Sources

- 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)
