What Week Number Is It? ISO Week Numbers vs US Week Numbers

Week Numbers

Ask a spreadsheet in Chicago and a planner in Stockholm what week Sunday, January 3, 2027 falls in, and you get two different years. Excel’s default setting says week 2 of 2027. The ISO standard used across Europe says week 53 of 2026. Both answers follow their own rules correctly, and those rules disagree most exactly when people care most about week numbers: at the turn of the year, when budgets, sprints and payroll cycles reset.

Every week number depends on two choices: which day a week starts on, and which week counts as week 1. The two main systems answer both questions differently.

Two rules decide every week number

The ISO system, defined in ISO 8601, starts weeks on Monday. Week 1 is the week that contains the year’s first Thursday. The same rule can be stated two other ways: week 1 is the week containing January 4, or the first week with at least four of its seven days in the new year. Microsoft’s documentation for WEEKNUM calls this System 2 and notes that it is commonly known as the European week numbering system.

The US convention starts weeks on Sunday, and week 1 is simply the week that contains January 1, however few days of it fall in January. This is Excel’s System 1 and the default behavior of WEEKNUM when no second argument is given. No single published standard defines it; it survives mainly as a software default and a habit carried over from Sunday-first wall calendars. Why the two traditions begin the week on Monday or Sunday is a separate story, but the choice of start day feeds directly into the numbers.

The ISO rules predate the modern standard. They first appeared as an ISO recommendation in 1971, became the standard ISO 2015 (“Numbering of weeks”) in 1976, and were folded into ISO 8601 when that standard was published in June 1988.

Why December 29 can already be week 1 of next year

ISO weeks never split. Every week runs a full Monday through Sunday, so the calendar year and the “week year” rarely line up exactly. A week belongs to whichever year contains its Thursday. The choice of Thursday is not arbitrary: it is the fourth day of a Monday-to-Sunday week, so the year that holds the Thursday always holds at least four of the week’s seven days. As a result, ISO week 1 can start as early as December 29 or as late as January 4.

That produces two edge cases that confuse people every winter. Monday, December 29, 2025 was already the first day of 2026-W01, because the Thursday of that week was January 1, 2026. The reverse happens next New Year: January 1, 2027 is a Friday, so the week from Monday, December 28, 2026 to Sunday, January 3, 2027 has its Thursday in 2026. New Year’s Day 2027 therefore falls in week 53 of 2026, and ISO week 1 of 2027 does not start until Monday, January 4.

The mirror image of the January 4 rule is that December 28 always falls in the last week of its own year. Any date from December 29 to January 3 can go either way.

The same dates, three different answers

Beyond ISO and Excel’s default, programmers run into a third system all the time: the %U code in the C and Python strftime functions. It starts weeks on Sunday, numbers the week that begins on the first Sunday as week 01, and puts any days before that Sunday into week 00. Its sibling %W does the same with Monday, which makes it look like ISO but gives different numbers in most years. Here are the same dates under all three systems:

Date ISO 8601 US / Excel default (WEEKNUM) strftime %U
Mon, Dec 29, 2025 2026-W01 53 52
Thu, Dec 31, 2026 2026-W53 53 52
Fri, Jan 1, 2027 2026-W53 1 00
Sun, Jan 3, 2027 2026-W53 2 01
Mon, Jan 4, 2027 2027-W01 2 01
Sat, Jan 1, 2028 2027-W52 1 00
Sun, Dec 31, 2028 2028-W52 54 53

January 1, 2027 gets three different labels: week 53, week 1 and week 0. A report that groups sales by week can move an entire holiday weekend into a different bucket depending on which function wrote the column.

In 2027, US week numbers run ahead of ISO all year

The mismatch doesn’t stay at the year boundary. In 2026, which starts on a Thursday, the two systems give the same number from Monday through Saturday, and the US number is one higher on every Sunday, because a US week starts on the day an ISO week ends.

2027 starts on a Friday, and the gap widens. The US system counts January 1 and 2 as week 1 and starts week 2 on Sunday, January 3, while ISO week 1 doesn’t start until January 4. From January 4 onward, the US number is one ahead of ISO from Monday through Saturday and two ahead on Sundays. Wednesday, September 15, 2027 is ISO week 37 and US week 38. A team in New York and a supplier in Hamburg who agree to “deliver in week 38” are planning for different weeks.

Week 53 is normal in ISO, and the US count can reach 54

A year is 52 weeks plus one or two days, which is why the number of weeks in a year never comes out even. ISO absorbs the leftover days by adding a full 53rd week in any year that starts on a Thursday and in leap years that start on a Wednesday, usually five or six years apart. The 400-year Gregorian cycle holds exactly 20,871 weeks, and 71 of those 400 years have 53 ISO weeks, which makes the average ISO year 52.1775 weeks long. 2026 is one of them; the next are 2032 and 2037.

The US system handles the leftover days differently: it numbers the partial weeks at both ends. Because 365 days can never fit inside 52 Sunday-to-Saturday weeks, every year in this system has at least 53 numbered weeks. A leap year that starts on a Saturday reaches 54, since January 1 is a one-day week 1 and December 31 lands on a Sunday that opens a new week. 2028 is exactly that case: Excel’s default WEEKNUM returns 54 for Sunday, December 31, 2028, and Microsoft’s Power Fx documentation confirms the function can return anything from 1 to 54.

Year January 1 ISO week 1 starts ISO weeks US-style weeks (Excel default)
2026 Thursday Mon, Dec 29, 2025 53 53
2027 Friday Mon, Jan 4, 2027 52 53
2028 Saturday Mon, Jan 3, 2028 52 54
2029 Monday Mon, Jan 1, 2029 52 53
2030 Tuesday Mon, Dec 31, 2029 52 53
2031 Wednesday Mon, Dec 30, 2030 52 53
2032 Thursday Mon, Dec 29, 2031 53 53

2029 is the only year in this stretch where ISO week 1 starts exactly on January 1. That happens only when the year begins on a Monday.

Calculating a week number by hand

Both systems can be computed from the day of the year (its ordinal number, 1 to 366) and the day of the week.

Week number from the ordinal date
ISO: W = floor((ordinal βˆ’ weekday + 10) / 7), with Monday = 1 … Sunday = 7
If W = 0, the date is in the last week (52 or 53) of the previous year
If W = 53 and the year has only 52 ISO weeks, the date is in week 1 of next year
US: W = floor((ordinal + d βˆ’ 1) / 7) + 1, where d = weekday of January 1 (Sunday = 0 … Saturday = 6)

Take Monday, December 14, 2026, day 348 of the year. ISO: (348 βˆ’ 1 + 10) / 7 = 51. US, with January 1, 2026 a Thursday (d = 4): (348 + 4 βˆ’ 1) / 7 = 50.1, which rounds down to 50, plus one gives 51. Both agree. Now take Friday, January 1, 2027: ISO gives (1 βˆ’ 5 + 10) / 7 = 0.86, which rounds down to 0, so the date belongs to the last week of 2026, which is week 53. The US formula gives week 1.

Where the mismatch breaks spreadsheets and software

In Excel, WEEKNUM(date) with no second argument uses the Sunday-start, January 1 system. WEEKNUM(date, 2) switches to Monday starts but still counts the week containing January 1 as week 1, so it is not ISO either. Only WEEKNUM(date, 21) or the separate ISOWEEKNUM function follow ISO 8601. Microsoft’s documentation warns that every other return type produces non-ISO numbers in years where the first week of January holds three days or fewer.

The quieter bug is the year label. An ISO week number only makes sense when paired with the ISO week year. Label Friday, January 1, 2027 with its calendar year and its ISO week, and you get “2027-W53,” a week that doesn’t exist, since 2027 has only 52 ISO weeks. In strftime, the correct pairing is %G (ISO week year) with %V (ISO week). In Java and Unicode-style date patterns, the trap runs the other way: uppercase YYYY means the week-based year and lowercase yyyy means the calendar year. A formatter that uses the wrong one prints the right year for the whole year except a few days around New Year, which is why the bug tends to survive testing.

The best-known example came on December 29, 2014, a Monday that was already ISO week 1 of 2015. Twitter’s Android app logged users out for hours, and TweetDeck showed tweets as a year old, because the servers were stamping dates with 2015. Twitter blamed a front-end code bug without publishing details. Developers widely attributed the failure to a week-year format code used where a calendar year was meant, and the timing fits: the error appeared on the exact day the ISO week year and the calendar year diverged.

Locale settings add another layer. In date libraries that take week rules from the locale rather than from ISO, the week-based year follows local conventions. Under US week rules, the week containing January 1, 2027 runs from Sunday, December 27, 2026 through Saturday, January 2, 2027, so a US-locale formatter using the week-based year would print 2027 for December 27 through 31, 2026, while an ISO-based one would print 2026.

Writing a week so nobody misreads it

ISO 8601 has a compact notation built for this: year, the letter W, the two-digit week, and optionally the weekday as a digit. 2026-W53 means the week of December 28, 2026 to January 3, 2027, and 2026-W53-5 pins down its Friday, which is New Year’s Day 2027. It uses the same logic as the familiar ISO 8601 format for dates, with the largest unit first. Between US and European teams, writing “2026-W53” or a plain date range removes the ambiguity that a bare “week 53” leaves open. In the US system, a bare “week 53” of 2026 means just five days, Sunday, December 27 through Thursday, December 31.

↑
βœ•Close Menu