Default is “today” in the selected time zone.
Auto-detected; edit as needed. Examples: America/New_York, Asia/Tokyo
Fiscal settings (for Week system = Fiscal)
Common: FY starts April 1 → FY labeled by ending year.
Fiscal weeks use Monday–Sunday ranges by default.
Business days & holidays (counts & progress)
Used for business-day counts left in month/quarter/year.
Pick a date or press Today to see results.
🔍

    🧭 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)
      Fiscal weeks use Monday–Sunday ranges; the FY label equals the year the fiscal year ends in.
    • 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-date 2015-W53-5 (Friday belongs to the previous ISO week-year). Week range: 2015-12-282016-01-03.
    • US vs ISO at New Year: 2021-01-01 → ISO 2020-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-082025-09-14 (Mon–Sun).
      • US/Locale: Week 37. Range: 2025-09-072025-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.
    • 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 Monday 2025-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-date YYYY-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?
    ISO week 1 is the week that contains Jan 4 (the first Thursday). Dates near New Year can fall into the previous ISO week-year. Example: 2016-01-01 is 2015-W53-5.
    Why do some years have Week 53?
    Depending on how the year starts and the Monday-start rule, an extra full week can fit in ISO, producing W53 (it happens roughly every 5–6 years).
    What’s the difference between ISO and US week numbers?
    ISO: Monday start, week 1 contains Jan 4. US/Locale: Sunday start, week 1 begins on Jan 1 (partial week allowed). This shifts numbering at boundaries.
    How are fiscal weeks computed?
    Choose a start month and a “week 1” rule. We compute the Monday that anchors week 1 by your rule, then count Monday–Sunday weeks forward. The fiscal label is the year the FY ends in.
    Do leap years change DOY?
    Yes—leap years have 366 days. For instance, 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?
    You can choose the weekend days (e.g., Sat/Sun). The tool excludes those days and any pasted holidays when counting business days left.
    How do holidays work?
    Paste one date per line as 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?
    “Today” depends on the selected IANA time zone. Around midnight UTC, different regions can be on different calendar days—this affects DOY and week ranges.
    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?
    Yes—use the Share Link button. We encode 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?
    Enable the optional odd/even tag to quickly label sprints or maintenance windows (e.g., “even weeks = deploy”).

    📚 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