Business days calculator

Pick two dates to see the number of days and the counting rule that was applied.

By default the start date is not counted.
30 days
Calendar breakdown: 0 years, 1 month, 0 days In months and days: 1 month, 0 days In years and days: 0 years, 30 days In weeks and days: 4 weeks, 2 days
ISO 8601 week: start date week 39, 2026 (2026-W39) · end date week 43, 2026 (2026-W43)

Time between two dates and times

A blank time is midnight (00:00:00). Times are fixed clock readings: every day counts as 24 hours (86,400 seconds); time zones, daylight saving time and leap seconds are not applied.
—
The result appears once both dates are entered.

Counting rules in detail

Days between dates are counted on calendar dates, using your device’s local date as today. By default the start date is excluded and the end date included. Turn on “Count the start date” to count it as day 1.

When you move by months or years and the same day does not exist in the target month, the last day of that month is used. For example, one month after January 31, 2026 is February 28; one month after January 31, 2024 is February 29. One year after February 29, 2024 is February 28, 2025.

Under the default working conditions (Mon–Fri, no excluded dates), business days exclude Saturdays, Sundays and the U.S. federal holidays listed in the versioned data — the holidays for Federal employees under 5 U.S.C. 6103 as published by the U.S. Office of Personnel Management (OPM). For most Federal employees, a Saturday holiday is observed on the preceding Friday for pay and leave purposes. This calculator does not determine days off for private employers, banks or stock exchanges. State holidays are not included. If you change the working conditions, the selected weekdays are used and federal holidays and your excluded dates are excluded. Years without holiday data are not estimated; the calculation stops. Legal deadlines may follow different counting rules, so check the relevant regulation or a professional.

The calendar breakdown counts complete months from the earlier date without passing the later date, using the last day of a month when the same day does not exist. January 31 to February 28, 2026 is 1 month, 0 days. Remaining days follow the last complete month, or the last complete year for years and days. Weeks and days divide the total days by 7. “Count the start date” includes both dates by extending the calculation to the day after the later date. The breakdown and ISO 8601 week numbers are hidden for business days. ISO 8601 weeks start on Monday; week 1 contains the year’s first Thursday.

Time between two dates and times subtracts the start date and time from the end date and time in whole seconds. It shows days, hours, minutes and seconds, and the same span as total hours, total minutes and total seconds. A blank time is midnight (00:00:00). Times are fixed clock readings: every day counts as 86,400 seconds, and time zones, daylight saving time and leap seconds are not applied. An end before the start shows an error. “Count the start date” and business days do not apply to this block.

A business-day move does not count the base date; it counts only qualifying days starting from the following day for a forward move or the preceding day for a backward move. 0 business days leaves the base date unchanged, and the move works only within the years covered by the holiday calendar.

The default working conditions are Mon–Fri with no excluded dates. If you change them, a business-day calculation excludes each date once, in this order: non-working weekday, federal holiday, your excluded date.

Frequently asked questions

When I calculate one year from today, is today included?
To find one year from today, use the “Add or subtract” tab and move the calendar year by one. Whether today is included does not add or remove a day. When a month or year move lands on a month without the same day, the last day of that month is used. For example, one year after February 29, 2024 is February 28, 2025. “Count the start date” applies only to counting the days between two dates on the “Days between dates” tab.
My result is one day more or less than on another calculator. Why?
The difference comes from whether the start date is counted. semku excludes the start date by default; turn on Count the start date to count it as day 1.
What date is one month after January 31?
If the same day does not exist in the target month, the last day of that month is used: February 28 in 2026, and February 29 in the leap year 2024.
Do business days also exclude holidays, and which ones?
Business days only excludes Saturdays, Sundays and U.S. federal holidays within the supported range under the default working conditions (Mon–Fri). These are the federal holidays for Federal employees as published by OPM. For most Federal employees, a Saturday holiday is observed on the preceding Friday for pay and leave purposes. This calculator does not determine days off for private employers, banks or stock exchanges. State holidays are not included. If you change the working conditions, the selected weekdays are used and federal holidays and your excluded dates are excluded. The result shows the holiday data version and the supported years.
Can I calculate hours, minutes and seconds?
The day counts above use calendar dates only. For elapsed time including the time of day, use “Time between two dates and times” below the calculator. It shows days, hours, minutes and seconds, counting every day as 24 hours without time zones or daylight saving time.
Can I use the working conditions to calculate pay or leave?
The working conditions apply your selected weekdays, federal holidays and excluded dates to count days or find a date before or after. They do not determine actual attendance, pay, leave or legal deadlines. “Count the start date” applies only to days between dates; a business-day move never counts the base date.

Privacy on this page

Calculations run in your browser. The dates, working days and excluded dates you enter are not sent to the server and are not saved in browser storage.

To understand usage and improve the service, this page sends semku’s own usage statistics and automatic error reports to a dedicated endpoint under semku.com/api/telemetry/v1/. They are not used for advertising or third-party tracking.

Usage statistics include the stage of use (such as starting an operation), the time, and fixed identifiers that distinguish the page and feature. The dates you enter and the results shown are not included, not even as hashes or size buckets. Full URLs and search terms are not sent either.

To improve the service, we record the country and state/province-level region at the time of your visit, which site you came from, and one display language setting reported by your browser (for example, en-US). Location is kept to country and state/province only; no city or precise position is recorded. Access logs, including IP addresses, are generated automatically as you use the service and may be retained to keep the service secure. We record the referring site address and the page path within it, but no query string content, such as search terms. If you arrive through a search, the terms you entered are not stored. We do not record the full list of preferred languages or raw request headers. Region, referral and display language records are per visit only and use no identifier that links one visit to another. Recording of these three items starts only after this notice is published. The region and the referring site have been recorded since 2026-09-20; the display language since 2026-09-24.

Operations and sessions are distinguished by randomly generated identifiers that exist only in memory while the page is open; they are not stored in cookies or browser storage. No cookie-based or device-fingerprint identification is used.

Error reports include the error type, code and time, and, where available, a registered program-source identifier with line and column numbers. Error message text and stack traces are not sent. Usage statistics and error reports also carry the site identifier, the published version and a random record identifier. Your user agent is described above, together with access records such as IP addresses and browser signals (User-Agent Client Hints).

If you use the feedback form, pressing Send transmits the rating you chose and the text you typed, together with a random submission ID, the page, site and published version, and the type of request. There are no fields for your name, e-mail address or phone number, and your inputs are not attached automatically. Before sending your text, the widget removes leading and trailing whitespace and, if you selected a rating, adds [+1] or [-1] at the start; it makes no other changes to your text. After receipt, the collector standardizes line endings and removes leading and trailing whitespace. Please do not include personal data, passwords, keys or payment details.

Separately, when you access the site, the hosting provider Cloudflare Pages records standard access logs that include your IP address, the time of the request and user-agent information.

For details, see the privacy policy.

Calculations run in your browser without sending your calculation inputs or results to the server. The counting rule and the holiday data version appear with the result. See “Privacy on this page” for information about access data.