
Day & Week Number Today (ISO, US & Fiscal) — DOY, Week Ranges & Business Days
Instant day-of-year (DOY) and week number for any date. See ISO week (YYYY-Www-D), US week (Sun–Sat), and fiscal week with start/end dates, year/quarter/month progress, and business days left using your time zone, locale, weekend pattern, and holidays. Copy, export, print, and share deep links.
🧭 Overview
The Day & Week Number (ISO/US/Fiscal) tool shows today’s day-of-year (DOY) and week numbers side-by-side for ISO-8601 (Mon–Sun), US/Locale (Sun–Sat), and custom fiscal calendars. You also get week start/end dates, year/quarter/month progress, and business days left (weekend patterns + holiday list). Choose a time zone and locale, then copy any value, export, print, or share a deep link that restores your settings.
⚙️ How it works
- Day-of-year (DOY): Counts days since Jan 1 (Jan 1 = 1). Leap years use 366 days.
- ISO week: Monday start; week 1 is the week containing the first Thursday (Jan 4). The ISO week-year can differ from the calendar year near New Year.
- US/Locale week: Sunday start; week 1 begins on Jan 1 (partial week allowed). This is common in payroll and many US systems.
- Fiscal week: Pick a start month (e.g., April) and a week 1 rule:
- First day: week containing the FY start date
- First full week: first Monday on/after the FY start
- First 4-day week: week containing the first Thursday on/after the FY start (ISO-like)
- Business days left: Choose a weekend pattern (e.g., Sat/Sun), paste holidays (
YYYY-MM-DD
per line). The counter excludes weekends and exact holiday dates from the selected date to the period end. - Time zone & locale: All calculations use robust UTC math; display follows your chosen IANA time zone and locale names/formatting.
🧮 Formulas & Methods
Leap year: isLeap = (y % 4 === 0 && y % 100 !== 0) || (y % 400 === 0) Day-of-year (DOY): doy = 1 + floor((UTC(y, m, d) − UTC(y, 1, 1)) / 86_400_000) ISO week (robust): dow = (getUTCDay(date) || 7) // Mon..Sun = 1..7 thursday = date + (4 − dow) days isoYear = thursday.getUTCFullYear() week = 1 + floor((UTC(thursday) − UTC(mondayOfWeekContainingJan4(isoYear))) / (7 days)) isoWeekDate = YYYY-Www-D // D = 1..7 (Mon..Sun) US/Locale week (Sun start; week 1 starts Jan 1): week = 1 + floor((doy − 1 + jan1.getUTCDay()) / 7) // getUTCDay(): Sun=0..Sat=6 Fiscal week (Mon start): fyLabel = (month ≥ fyStartMonth) ? year + 1 : year fyStart = UTC(fyLabel − 1, fyStartMonth, 1) week1Monday: firstday → Monday of week containing fyStart full → first Monday on/after fyStart 4day → Monday of week containing the first Thursday on/after fyStart week = 1 + floor((monday(date) − week1Monday) / 7 days)
📏 Defaults & Assumptions
- Dates are interpreted in the selected time zone; week math itself is done in UTC to avoid DST artifacts.
- ISO weeks run Monday–Sunday; US/Locale weeks run Sunday–Saturday.
- Fiscal week ranges are Monday–Sunday regardless of rule.
- “Business days left” counts from the selected date to the end of the chosen period; weekends and pasted holidays are excluded.
- Locale controls month/weekday names (e.g., EN, DE) for human-friendly outputs.
🧪 Examples (verified)
- ISO year crossover:
2016-01-01
→ ISO week-date2015-W53-5
(Friday belongs to the previous ISO week-year). Week range:2015-12-28
–2016-01-03
. - US vs ISO at New Year:
2021-01-01
→ ISO2020-W53-5
; US/Locale: Week 1 (Sun–Sat system starts counting at Jan 1). - Leap day DOY:
2024-02-29
→ DOY 60 in a leap year (366 days). - Today-style sample:
2025-09-12
→ DOY 255 of 365.- ISO: 2025-W37-5 (Fri). ISO week range:
2025-09-08
–2025-09-14
(Mon–Sun). - US/Locale: Week 37. Range:
2025-09-07
–2025-09-13
(Sun–Sat). - Quarter: Q3, day of quarter = 74 (Q3 runs Jul 1–Sep 30).
- Month: September, day of month = 12.
- Days left in year: 110 (exclusive of 2025-09-12), or 111 if including that day.
- ISO: 2025-W37-5 (Fri). ISO week range:
- Fiscal (Apr start, first 4-day week): FY2025 week 1 begins Monday
2024-04-01
(week containing the first Thursday ≥ Apr 1). FY2025 has 53 weeks; FY2026 week 1 begins Monday2025-03-31
.
Tip: Use the copy icons next to “ISO week”, “Week range”, “DOY”, etc., to paste directly into tickets, emails, and commit messages.
📋 Copy-ready formats
- ISO week code:
YYYY-Www
or week-dateYYYY-Www-D
(Mon=1..Sun=7). - US/Locale week label:
Week N (Sun–Sat)
. - Week range:
YYYY-MM-DD — YYYY-MM-DD
. - DOY:
DOY N / 365|366
with percent complete (progress bar on the left pane). - Deep link:
?date=2025-09-12&sys=iso&tz=Europe/Berlin&fy_start=4&fy_rule=4day
🧩 Popular Use Cases
- Project & sprint planning (We’re in ISO W37; release in W40).
- Payroll, retail, and ERP reporting by fiscal weeks.
- Publishing schedules and academic calendars (week-based terms).
- Log analysis & BI bucketing by week/DOY; KPI “week-over-week”.
- Business-day countdowns to month/quarter/year end (with holidays).
💡 Pro Tips & Pitfalls
- ISO week-year can be different from calendar year near Jan 1 (e.g., Jan 1 can be last week of the previous ISO year).
- US/Locale week numbering will often show Week 1 on Jan 1 even if that week is partial.
- Always specify the time zone when sharing week numbers across teams—midnight boundaries differ by region.
- For fiscal years, align your rule with corporate policy (first day vs first full week vs first 4-day week).
❓ FAQs
Why can the ISO week belong to the previous year?
2016-01-01
is 2015-W53-5
.Why do some years have Week 53?
What’s the difference between ISO and US week numbers?
How are fiscal weeks computed?
Do leap years change DOY?
2024-02-29
is DOY 60; from March onward, DOY is +1 vs a non-leap year.Which weekend pattern is used for business days?
How do holidays work?
YYYY-MM-DD
(e.g., 2025-12-25
). The counter excludes exact matches within the selected range.Why do results change when I switch time zones?
What’s the ISO week-date format?
YYYY-Www-D
, where YYYY
is the ISO week-year, ww
is week number (01–53), and D
is day (1=Mon..7=Sun). Example: 2025-W37-5
(Friday of ISO week 37 in ISO year 2025).Can I deep-link and share my settings?
date
, tz
, sys
(iso/us/fiscal), fy_start
, fy_rule
, holidays
, etc., so anyone opening the link sees the same view.What about “odd/even” weeks?
📚 Sources & Attribution
- ISO-8601 — Date & time representations (week dates; week 1 rule)
- Gregorian calendar math (leap years, ordinal day)
- IANA time zones & ECMAScript
Intl.DateTimeFormat
for locale/time-zone display