Calculator

Date & Time Calculators Payroll-ready

Work Hours Between Dates Calculator

October 2026 10 min read

How many work hours between two dates? Count selected weekdays minus holidays, deduct unpaid breaks, split overtime weekly, and project cost — free, instant, no sign-up.

Net hours
1,582.5
211 workdays
Overtime
0
of 1,688 gross
FTE weeks
39.56
net ÷ 40
Est. cost
$39,562.5
@ $25/h

Live statistics

Calendar days

298

Thu → Mon

Net hours

1,582.5

1,582.5 regular

Overtime

0

threshold 40h/wk

Burdened cost

$51,431.25

×1.3 overhead

Work plans — pick your schedule

Plans preset the hours-per-day, work-week and break so estimates match how you actually work. Day toggles below still fine-tune the result.

Inputs — Work Hours Between Dates

Start Date
End Date
Hours Per Day
Workdays
Weekday Holidays
Unpaid Break (min)
Include End Date
OT Threshold (h/wk)
Hourly Rate ($)
Results update live as you type
Status:211 workdays1,582.5 net hours0 OT

Work Hours Summary

Net work hours1,582.5
Regular / overtime1,582.5 / 0
FTE weeks39.56
Est. labour cost$39,562.5
Burdened (≈×1.3)$51,431.25

Breakdown

MeasureValue
RangeThursday, January 1, 2026 → Monday, October 26, 2026
Calendar days298
Workdays (after holidays)211 (−1 hol)
Gross hours1,688
Break deduction−105.5
Avg h / calendar day5.31

Results

Optimal

Net Work Hours

1,582.5hrs

Payable hours after breaks

Gross Hours

1,688hrs

Workdays × hours per day

Workdays

211days

Selected weekdays minus holidays

Break Deduction

105.5hrs

Unpaid meal time removed

Regular Hours

1,582.5hrs

Within 40h weekly threshold

Overtime Hours

0hrs

Above threshold, per ISO week

FTE Weeks

39.56FTE

Net hours ÷ 40

Est. Labour Cost

$39,562.5

Net hours × $25/h

UTC-midnight day walking with automatic leap-year handling. Overtime splits per Monday-start ISO week at your threshold; daily-OT states need checklist review.

Visualizations

Hours Breakdown

1,583hRegular
0hOvertime
105.5hBreaks

Payable Share of Gross

Net1,583h

Net vs Calendar Capacity

Net hours1,583h

Formula

Work-hour math walks UTC midnights, keeps selected weekdays, subtracts weekday holidays, prices gross hours, removes unpaid breaks, then splits each Monday-start week at the overtime threshold.

Net = (workdays − holidays) × h/day − breaks; OT split per ISO week

Alternative Form

Gross = workdays × h/day; breaks = workdays × min ÷ 60; FTE = net ÷ 40

Variables

SymbolNameUnitDescription
WPayable workdaysdaysSelected weekdays inside the range minus weekday holidays
HHours per dayhScheduled shift length
BBreak minutesminUnpaid meal time per workday
TOT thresholdhWeekly threshold, 40 under the FLSA

Explanation

Weekly splitting matters: two 45-hour weeks earn 10 overtime hours even though the 90-hour fortnight averages 45. Averaging across the period would illegally erase it.

Derivation

Walk midnights → filter dow → subtract holidays → gross = W×H → net = gross − W×B/60 → per-week OT = max(0, week − T) → cost = net × rate.

Step-by-Step Calculation

Follow each step to understand how the result is calculated from your inputs.

Step 1

Parse both dates as UTC midnights and order the range.

UTC(date) = Date(YYYY-MM-DD + T00:00:00Z)
Start:Thursday, January 1, 2026
End:Monday, October 26, 2026
Intermediate: Reversed ranges are swapped, never negative
Result: 298 calendar days in range
Step 2

Walk each midnight; keep selected weekdays as workdays.

workdays = count(dow ∈ selected)
Selected days:Mon, Tue, Wed, Thu, Fri
Raw workdays:212
Intermediate: 86 weekend + 0 off-weekday days excluded
Result: 212 candidate workdays
Step 3

Subtract weekday holidays inside the span.

net workdays = candidates − holidays
Holidays:1
Intermediate: Weekend holidays cost nothing and are not entered
Result: 211 payable workdays
Step 4

Multiply by scheduled hours for gross hours.

gross = 211 × 8 h/day
Hours/Day:8
Intermediate: Breaks still inside at this stage
Result: 1,688 gross hours
Step 5

Remove unpaid breaks to reach net (payable) hours.

breaks = 211 × 30 min ÷ 60
Break/Day:30 min
Intermediate: Paid rest breaks stay inside net hours
Result: 1,582.5 net hours
Step 6

Split each ISO week at the overtime threshold; project cost.

OT = Σ max(0, week − 40); cost = net × $25
OT total:0 h
FTE weeks:39.56
Intermediate: Per-week split, never averaged across the period
Result: 1,582.5 regular + 0 OT = $39,562.5
Final Answer
1,582.5

Worked Examples

See how the calculator works with different scenarios.

Scenario

Standard 40h plan, Jan 1 to Jan 31 2026, one weekday holiday (New Year’s Day), 30-min lunches, end excluded.

Inputs

Range:2026-01-01 → 2026-01-31
Plan:Standard 40h
Holidays:1

Calculation

30 calendar days → 22 Mon–Fri → 21 after holiday × 8 h = 168 gross − 10.5 breaks

Result

157.50 net hours · 0 OT · 3.94 FTE weeks

Interpretation

The exact January payroll figure — weekends and the holiday are provably excluded.

Understanding Your Result

Your Result: Net work hours: payable hours after holidays, breaks and weekly overtime split

Typical range: A standard month holds 160–184 gross hours (20–23 workdays × 8 h); net lands 150–172 after lunches. Six-day peak months reach ~200 net with ~32 OT.

What This Means

Net hours are what payroll pays, what clients are billed, and what bids are built on. Gross shows the scheduled scale; the overtime split shows the premium slice; FTE weeks translate it into staffing.

Why It Matters

A single miscounted holiday or a period-averaged overtime figure compounds across every paycheck, invoice and bid. The week-by-week split plus the five-number audit trail (range, plan, holidays, breaks, OT) remove the dispute surface.

Professional Interpretation

Payroll reads net + OT per week; estimators read net + burdened cost; HR capacity-planners read FTE weeks. All three come from the same walk, so they can never disagree.

Recommendations

  • •State inclusive/exclusive in writing on every payroll run
  • •Enter observed (weekday) holiday dates, never weekend originals
  • •Keep unpaid meal vs paid rest breaks separated
  • •Reconcile the weekly bars against net hours before approving
  • •Archive the printed breakdown with each pay period

How schedules compare — annualised (52 weeks, before holidays)

ScheduleDays / wkNet h / wkNet h / yrFTEWeekly OT?
Standard 40h YOU5 × 8h37.51,9500.94—
4×10 Compressed 4 × 10h381,9760.95—
12h Shifts 3 × 12h331,7160.82—
Part-Time 20h 5 × 4h201,0400.50—
6-Day Week 6 × 8h452,3401.135 h

Net = gross minus unpaid breaks. Holidays, PTO and sick days reduce the realised year — subtract them in the calculator above.

Payroll checklist

Tick off what you verified — this run scores 1/6 (17%).

Learn — date & time math, deeply

Work hours are where calendar math meets payroll law — and the five traps (end-date inclusion, holidays, breaks, weekly vs averaged OT, DST) cause nearly every dispute. This page computes the auditor's way: walk midnights, keep rota weekdays, subtract observed holidays, price gross, remove unpaid breaks, then split each week at the threshold.

1 · The work-hour pipeline (how every answer is built)

Calendar days

walk UTC midnights

Start → end, one midnight at a time. Reversed dates are swapped, never negative.

Workdays

keep selected weekdays

Mon–Fri by default. Weekends and unchecked weekdays fall out here.

− Holidays

subtract weekday holidays

Only weekday holidays inside the span. Weekend holidays cost nothing.

Gross hours

× hours per day

Workdays × scheduled h/day. Breaks still inside at this stage.

Net + OT

− breaks, split weeks

Unpaid breaks removed, then each ISO week split at the 40h threshold.

2 · Conventions that change the answer (state yours in writing)

  • Inclusive vs exclusive end date — payroll ranges usually include both endpoints; SLA/delivery math usually excludes the end. One day of difference on every run.
  • Holiday-observed rules — US federal holidays falling on Saturday are observed Friday; Sunday → Monday. Enter the observed weekday date.
  • Half-day holidays — enter whole-day equivalents (two half days = 1). The calculator counts whole workdays only.
  • Leap days — Feb 29 exists when (year % 4 == 0 and year % 100 != 0) or year % 400 == 0. UTC-midnight walking counts it automatically.
  • ISO 8601 — always write and store dates YYYY-MM-DD. It sorts, it never swaps month/day, and every converter on this site parses it.
  • Week numbering — overtime splits use ISO weeks (Monday start). A US Sunday-start payroll week can shift 1 day of OT across the boundary — reconcile once, then stay consistent.

DST & time zones — when day counts lie

  • • Day counts are DST-proof (UTC midnights). Shift lengths are not: a 00:00–08:00 night shift on spring-forward Sunday is 7 paid hours.
  • • Always store the calendar date; convert to local time only for display and shift math.
  • • Cross-timezone teams: anchor deadlines in UTC (e.g. 2026-09-14T15:00Z), never “EOD Friday”.
  • • Fall-back Sunday has 25 hours — overnight OT that night needs local timestamps, not date subtraction.

Gregorian & history notes

  • • Results are exact for 1900–2100. Outside that, rules are applied proleptically (the 1582 Julian→Gregorian 10-day skip is not modelled).
  • • Average-month (30.44 d) and average-year (365.25 d) figures are labelled approximate — calendar Y/M/D plus exact day totals are the precise pair.
  • • Fiscal/quarter/academic variants start on local rules (Oct 1, Jul 1, Sep 1…) — confirm the year-start before comparing across calculators.
  • • Julian dates, Unix epoch and RFC 3339 converters live in Unix / Computer Time for machine-handoff work.

3 · Overtime & compliance context (US-focused, educational — not legal advice)

RuleThresholdWhat it means here
FLSA federal overtime40 h / 7-day workweekNet hours above 40 in any single ISO week count as OT. Biweekly totals do not average out.
California / Alaska / Nevada daily OT8 h / day (CA: 2× after 12 h)Long-shift plans (4×10, 12 h shifts) earn daily OT even in a 40 h week — verify with the payroll checklist.
Colorado overtime40 h week OR 12 h dayEither trigger fires. 12 h shift workers hit the daily trigger on every shift.
Record-keeping (FLSA)3 years of daily hoursKeep the per-day time records, not just totals — the week-by-week diagram is your audit trail.
Child-labour / minor hour capsVaries by state & schoolSchool-days and teen schedules cap daily/weekly hours — pair with Academic & School Dates.

4 · Audit like a pro (the 3-way cross-check)

  1. Hand-estimate first: workdays ≈ calendar days × days-per-week ÷ 7, then × hours/day. Within 5% before trusting the screen.
  2. Reconcile the diagram: the week-by-week bars must sum to net hours. A mismatch means a holiday or toggle error, not a math error.
  3. Re-run with the end date flipped inclusive/exclusive — the difference must be exactly one workday of hours (or zero on an off-day).
  4. Export/print the breakdown for payroll: range, plan, holidays, breaks, weekly OT split — the five numbers an auditor asks for.
  5. For cross-border teams, confirm the holiday calendar (US federal ≠ UK bank ≠ company) before locking the run.

Practical Tips

  • •Estimate workdays × hours/day first, then compare
  • •Use plans to switch schedules without retyping
  • •Set breaks to 0 for paid-lunch policies
  • •Toggle individual weekdays for custom rotas
  • •Flip inclusive/exclusive to prove the boundary
  • •Copy the breakdown into payroll records
  • •Re-run with $0 rate to isolate pure hours

Common Mistakes

Entering weekend holidays in the holiday count
Count only weekday holidays inside the span — weekend holidays already cost zero.
Averaging overtime across the whole period
Read the per-week split: each ISO week over threshold earns its own OT.
Mixing paid rest breaks with unpaid lunch
Only unpaid meal minutes go in the break field; paid 10–15 min rests stay in net hours.
Assuming Mon–Fri for shift teams
Toggle the actual rota days — 12-hour and 6-day plans live in the plan picker.

Assumptions

This calculator makes the following assumptions to provide estimates:

UTC Midnights: Both dates are 00:00 UTC; DST never changes a day count.
Whole Workdays: Each counted day contributes the full scheduled hours; partial days are not modelled.
Holiday Counts: Holidays are a weekday count inside the span, capped at candidate workdays.
ISO Weeks for OT: Overtime splits on Monday-start ISO weeks, matching the FLSA 7-day workweek.

Limitations

Be aware of these limitations when using this calculator:

No Partial Days: Start/end mid-day times need an hour-level timesheet tool.
No Holiday Picker: Regional calendars are not built in — verify counts against the observed list.
Weekly OT Only: Daily-OT states (CA/AK/NV/CO) need additional review beyond the weekly split.

Frequently Asked Questions

Answers to common questions about this calculator.

How many work hours are between two dates?
Walk each UTC midnight in the range, keep your selected weekdays, subtract weekday holidays, multiply by hours per day, then remove unpaid breaks. This calculator does all five steps and splits overtime per week automatically.
How do I calculate billable hours between dates excluding weekends?
Use the Standard 40h plan (Mon–Fri), set hours per day to your billable day length, enter weekday holidays, and read net hours — that figure already excludes weekends and holidays.
Does the calculator deduct lunch breaks?
Yes. Break minutes per workday convert to break hours (workdays × minutes ÷ 60) and are subtracted from gross hours. Set 0 for paid-lunch or no-break schedules.
How do I count working hours minus holidays for payroll?
Enter only weekday holidays that fall inside the span as a count. Weekend holidays cost nothing and must not be entered. Observed dates (e.g. July 3, 2026 for Independence Day) are the ones that count.
When does overtime appear?
Any ISO week (Monday-start) whose net hours exceed your threshold — 40 by default under the FLSA — contributes the excess as overtime. Long-shift plans like 4×10 stay OT-free weekly; 6-day and extra-shift weeks do not.
Part-time vs full-time — how do FTE weeks work?
FTE weeks = net hours ÷ 40. A 20-hour part-time week is 0.5 FTE; a 45-hour six-day week is 1.13 FTE. Staffing plans and bids use FTE, not headcount.
How many 8-hour workdays are between two dates?
Keep the Standard 40h plan with 8 h/day and 0 break minutes: net hours ÷ 8 equals the exact 8-hour workday count for the range.
Should the end date be included?
Payroll and timesheet ranges usually include both endpoints; SLA and delivery math usually excludes the end. Toggle it above — the steps show the one-workday difference so auditors can follow.
How accurate are these date calculations?
All math uses UTC midnight-to-midnight day arithmetic, so daylight-saving shifts never add or remove an hour from a day count. Results are exact for the Gregorian calendar for any date from 1900 through 2100.
Do leap years affect the result?
Yes, automatically. February 29 exists in leap years (divisible by 4, except centuries unless divisible by 400), and every workday walk counts it exactly when it falls on a selected weekday.
Which time zone is used?
Dates are parsed and compared in UTC to keep day counts identical worldwide. Overnight shift lengths that cross a DST transition need local timestamps — day counts alone cannot capture the missing or repeated hour.
What date format should I enter?
Use the date picker or YYYY-MM-DD format, for example 2026-09-14. Reversed ranges are swapped internally so the breakdown always describes the true span.
How do 4×10 compressed schedules work here?
Pick the 4×10 plan (Mon–Thu, 10 h/day, 30-min lunch = 38 net h/week). A normal week stays under the 40h threshold so no overtime appears; a 5-day extra-shift week jumps to about 47.5 net and earns ~7.5 OT hours.
How are 12-hour shifts (nursing, plant, security) handled?
Use the 12h Shifts plan: 3 days on at 12 h with a 60-min meal = 33 net h/week. Any fourth shift in the same ISO week pushes that week to ~44 net hours, so ~4 hours split to overtime automatically.
How do I calculate a six-day retail or peak-season week?
Select the 6-Day Week plan (Mon–Sat, 8 h/day, 30-min lunch = 45 net h/week). Every full week contributes 5 regular plus about 5 overtime hours under the 40h FLSA default — the weekly bars turn amber to prove it.
How is burdened labour cost calculated?
Labour cost = net hours × hourly rate. Burdened cost multiplies that by ~1.3 to cover employer taxes, benefits and overhead. A 390-hour bid at $25/h shows $9,750 labour and about $12,675 burdened.
How do I use this for a fixed-price contractor bid?
Set the real rota, holidays and rate, read net hours plus burdened cost, and attach the printed breakdown. The per-week overtime split documents why a six-day peak bid carries premium pay instead of a round-number guess.
What if my range spans months or New Year?
Spanning is automatic — UTC-midnight walking crosses month and year boundaries, applies leap rules, and groups weeks by ISO week number (Monday start). January payroll and multi-month bids use the same engine.
How do observed holidays work?
Enter the observed weekday, not the calendar original. When July 4 falls on Saturday it is observed Friday July 3; when it falls on Sunday it is observed Monday. Only observed weekdays inside the span reduce workdays.
What about half-day holidays (Christmas Eve, New Year’s Eve)?
Enter whole-day equivalents: two half days count as 1. The engine models whole workdays only, so a single half day should be handled as a note on the timesheet, not a full holiday entry.
Can I model custom rotas — healthcare, retail, 3-day weeks?
Yes. Choose Custom, toggle the exact weekdays worked, and set any hours-per-day (0–24) and break minutes. The day toggles define the workweek here, not tradition — weekend-only and night-shift rotas work the same way.
Do I need daily overtime for California, Alaska, Nevada or Colorado?
The calculator splits weekly overtime only. Daily-OT states add rules (e.g. California: OT after 8 h/day, double after 12 h; Colorado: 12 h/day trigger). Use the payroll checklist below to flag shifts that need additional daily review.
How long must I keep time and payroll records?
Under the FLSA, keep payroll records 3 years and daily time records (hours worked each day) available for audit. Archive the printed breakdown with each pay period — the week-by-week diagram is your audit trail.
Why is my net lower than workdays × 8?
The gap is unpaid breaks: workdays × break-minutes ÷ 60. A 22-workday month at 30-min lunches loses 11 hours (176 gross → 165 net). Set breaks to 0 only for paid-lunch policies.
How do I prove the result to payroll or a client?
Reconcile three numbers: the week-by-week bars must sum to net hours; flipping inclusive/exclusive must move exactly one workday of hours; and hand-estimated workdays × hours/day should land within 5%. Copy the breakdown into payroll records.
How do part-time 20-hour weeks appear?
Use the Part-Time 20h plan (Mon–Fri, 4 h/day, no break). Each week yields 20 net hours and 0.5 FTE weeks, never triggering weekly overtime — ideal for half-day staffing and school-term schedules.
What happens with the same start and end date, or a weekend-only range?
A zero-length exclusive range returns 0 days; including the end counts that single day if it is a selected weekday. Weekend-only spans under a Mon–Fri plan correctly return 0.00 net hours instead of erroring.
How do I separate paid rest breaks from unpaid lunch?
Only unpaid meal minutes go in the break field. Paid 10–15 minute rest breaks stay inside net hours by law in most states — do not enter them, or you will undercount payable time.

Related Calculators

Explore more calculators related to this topic.

Related Guides

Deepen your understanding with these educational resources.

Glossary

Technical terms used in mortgage calculations explained in plain language.

UTC midnight
00:00 on the Coordinated Universal Time clock — the day boundary used for exact day counts.
Business day
A weekday (usually Mon–Fri) minus observed holidays; the workable subset of calendar days.
Gross hours
Workdays × scheduled hours per day, before unpaid breaks are removed.
Net hours
Gross hours minus unpaid break time — the payable-hour figure.
FTE week
One 40-hour full-time-equivalent week. Net hours ÷ 40 = FTE weeks.
Inclusive vs exclusive
Whether the end date itself is counted. SLAs usually exclude it; payroll ranges often include it.
Observed holiday
A holiday moved to the nearest weekday when it falls on a weekend (e.g. July 4 → July 3, 2026).
ISO week
Week-numbering where week 1 contains the first Thursday; weeks start Monday (2026-W01 starts Dec 29, 2025).
DST transition
Spring-forward / fall-back clock change. Day counts are unaffected (UTC); shift-length math needs local time.
Proleptic Gregorian
Gregorian leap rules extended before their 1582 adoption — fine for math, not history.
Burdened cost
Labour cost × ~1.3 for taxes, benefits and overhead — the bid-ready figure.
Work plan
A named preset of hours/day, workdays and breaks (Standard 40h, 4×10, 12h shifts…).

Authoritative References

Trusted sources and standards referenced by this calculator.

Applicable Standards

ISO 8601 — Date and time format (YYYY-MM-DD, week dates)FLSA — Fair Labor Standards Act: 40-hour overtime threshold (US)UCC § 2-206 / contract timing — business-day performance conventionsNIST Time & Frequency — UTC, leap seconds, traceable timeIETF RFC 3339 — Internet date/time profile of ISO 8601

Was This Calculator Helpful?

Page Information

Last Updated:

2026-10-05

Version:

2.0.0

License:

Free to use for educational and professional purposes.