Week Number Finder
ISO 8601 Week Numbering Explained
ISO 8601 is the international standard for week numbering. Weeks start on Monday and end on Sunday. Week 1 (W01) is the week containing January 4th (equivalently: the week with the year's first Thursday). A year has 52 or 53 weeks. The ISO week-year may differ from the calendar year โ Dec 29โ31 can be W01 of the next year, and Jan 1โ3 can be W52/53 of the previous year.
If January 1st falls on Friday, Saturday, or Sunday, it belongs to the previous year's last ISO week. For example, Jan 1, 2000 (Saturday) was ISO week 52 of 1999. This ensures ISO weeks never have partial weeks.
When Jan 1 is Thursday, or in a leap year when Jan 1 is Wednesday (~every 5โ6 years). Recent examples: 2004, 2009, 2015, 2020, 2026, 2032, 2037.
Regional Week Numbering Differences
Used by the EU, UK, most of Asia, Australia, South America โ 150+ countries. This is the standard for international trade and manufacturing.
The US and Canada start weeks on Sunday, with Week 1 defined as the week containing January 1st. This can produce 53โ54 "weeks" per year, with partial first and last weeks.
Some countries (e.g., Iran, Afghanistan) use Saturday as the week start. ISO is increasingly adopted for international business contexts.
Business Use Cases
Biweekly payroll is keyed to ISO week numbers. 53-week years create an "extra pay period" problem that finance teams must plan for. The 4-4-5 retail fiscal calendar is also week-based.
Production schedules and delivery windows use "ship W23" format. ISO weeks eliminate ambiguity in cross-border supply chain communication.
2-week sprints map to ISO weeks (e.g., W14โW15 = one iteration), enabling easy cross-team alignment and retrospectives.
Weekly sales reports are filed by week number. 53-week years affect year-over-year (YoY) comparisons and require special handling.
Programming Pitfalls
In Java/date-fns, YYYY = ISO week-year, yyyy = calendar year. Mixing them up at year boundaries (late Dec / early Jan) produces wrong years โ this is the #1 week-number bug in production code.
Python: isocalendar() returns (iso_year, week, weekday) โ use iso_year, not year. JavaScript: Date has no native ISO week API โ use date-fns or Luxon. Excel: ISOWEEKNUM() (2013+) vs WEEKNUM() (US system). SQL: MySQL uses WEEK(date, 3) for ISO; PostgreSQL's EXTRACT(WEEK) is ISO by default.