ForHosting KIT · Developer Utilities

Count business days between dates

This business day counter calculates the Monday-to-Friday days in an inclusive date range and can remove an optional list of holidays.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

It is designed for schedules, service deadlines, invoice terms, staffing plans, and any workflow where calendar days give the wrong answer. Both the start and end dates are considered, duplicate holidays are ignored, and a holiday on Saturday or Sunday does not reduce the result twice. The calculation uses calendar arithmetic rather than local time settings, so the same input produces the same answer everywhere.

Choose the date range and understand the boundaries

Enter the start date and end date in the exact YYYY-MM-DD format. The calculation is inclusive, which means each boundary can contribute one business day. If the start date is a Wednesday and the end date is that same Wednesday, the result is one unless that date appears in the holiday list. If the same-day range falls on a Sunday, the result is zero. This explicit boundary rule is important when comparing calculators because some tools silently exclude the first date or treat the end date as a deadline rather than part of the interval. Here, there is no hidden convention: every calendar date from the start through the end is examined. The end date cannot precede the start date. Reversed ranges produce an input error instead of a negative or misleading count, allowing an automated workflow to detect bad data immediately. Dates are validated as real Gregorian dates, so impossible values such as February 30 are rejected instead of being shifted into another month.

Exclude holidays without distorting weekend totals

Add holidays as an optional array of YYYY-MM-DD dates. A listed holiday reduces the business-day result only when it falls inside the selected range and on Monday through Friday. A Saturday or Sunday holiday is already excluded by the weekday rule, so it does not subtract an additional day. Dates outside the range are accepted but have no effect, which makes it practical to reuse a company holiday calendar across many calculations. Duplicate holiday entries count once rather than repeatedly reducing the answer. This behavior keeps the result stable when holiday data is combined from several sources or when the same closure appears in regional and company lists. The tool does not supply a country calendar automatically: users provide the dates that apply to their contract, office, school, market, or jurisdiction. That choice avoids assumptions about observed holidays, substitute days, regional closures, and organizations that follow different schedules. Every supplied holiday is validated, so a malformed or impossible date returns a clear input error rather than being silently ignored.

Use the result in planning and automated workflows

The response separates the final business day count from two useful audit values: the weekday count before holidays and the number of weekday holidays actually excluded. This makes the answer easier to explain and verify. For example, a project coordinator can show that a range contained eight weekdays and one applicable holiday, producing seven business days. Payroll, billing, support, logistics, and compliance systems can use the same structure to check service windows or calculate elapsed working time without depending on a machine's timezone. The algorithm uses deterministic integer calendar arithmetic and does not call a network service, read the current date, or use random values. Identical input therefore produces identical output in the browser and through the API. Interactive use on this page is free, while an API request uses the published base price placeholder of $0.002. For recurring calculations, store the holiday list alongside its jurisdiction and policy because this tool evaluates the supplied dates but does not decide which days an organization officially observes.

Measure a service deadline

Count the working days available between receipt and completion while excluding the closures that apply to the service team.

Check invoice payment terms

Calculate an inclusive weekday interval for payment review and provide the applicable bank or office holidays explicitly.

Plan staffing and delivery

Compare project windows using a consistent Monday-to-Friday count and a reusable organization-specific holiday list.

Are the start and end dates included?

Yes. Each boundary counts when it falls on Monday through Friday and is not an excluded holiday.

What happens when a holiday falls on a weekend?

It has no additional effect because Saturdays and Sundays are already outside the weekday count.

Are duplicate holidays counted more than once?

No. The same holiday date is excluded at most once.

Does the tool know public holidays for my country?

No. Supply the dates that apply to your jurisdiction or organization, including any observed substitute days.

What if the end date is before the start date?

The calculation returns an invalid input error instead of a negative count.

How much does an API calculation cost?

Each API request uses the published base price of $0.002; the browser calculator is free to run.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/calc2/business-days-count

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/calc2/business-days-count \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"start_date":"2026-07-01","end_date":"2026-07-10"}'
{
  "start_date": "2026-07-01",
  "end_date": "2026-07-10"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "calc2.business_days_count",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →