Free tool Days between dates: count days, weeks and business days
Pick a start and an end date and get the number of days, weeks and "years, months and days" between them. Business days skip weekends and, if you choose, US federal holidays (with their observed Friday or Monday) or China’s public holidays and make-up workdays. For reporting, the tool also lists which dates to compare against for period-over-period and year-over-year.
- End date in or out
- Business days with holidays
- Runs locally
Count the days between two dates
Everything recalculates as you change it. The example is all of 2026, both ends included, so you can see how many business days the year has.
Or use the buttons below for today, this month or this year.
Can be earlier than the start; the day count is then negative.
"Difference" is end minus start, the same as subtracting two dates in Excel. Report ranges and leave requests usually include both ends.
US: federal holidays under 5 U.S.C. 6103, moved to Friday or Monday when they fall on a weekend. China: State Council holiday notices (2019–2027), including weekends that become workdays.
Days
365
Business days
250
With the holidays chosen above
Days off
115
Weekends + holidays, minus make-up workdays
Breakdown
The same span in weeks, months and hours. "Years, months, days" counts calendar months, like Python’s dateutil.
| Item | Result |
|---|---|
| Weeks | 52 weeks 1 days |
| Years / months / days | 1 years 0 months 0 days |
| Months | 12 months 0 days |
| Hours / minutes / seconds | 8,760 hours = 525,600 minutes = 31,536,000 seconds |
| From → to | 2026-01-01 Thu → 2026-12-31 Thu |
| Days counted | 2026-01-01 Thu to 2026-12-31 Thu |
Comparison periods for reports
Treats start to end as an inclusive report range and lists the period-over-period and year-over-year ranges, with business days in each. Same rules as TapCub’s reports.
| Comparison | Start | End | Days | Business days |
|---|---|---|---|---|
| This period | 2026-01-01 Thu | 2026-12-31 Thu | 365 | 250 |
| Previous period (weekday-aligned) | 2024-12-26 Thu | 2025-12-25 Thu | 365 | 250 |
| Previous period (back-to-back) | 2025-01-01 Wed | 2025-12-31 Wed | 365 | 250 |
| Last year (weekday-aligned, 364 days back) | 2025-01-02 Thu | 2026-01-01 Thu | 365 | 250 |
| Last year (same dates) | 2025-01-01 Wed | 2025-12-31 Wed | 365 | 250 |
Holidays in the range
"Business days" shows how many business days each row removes (−) or adds (+).
| Date | Holiday | Arrangement | Business days |
|---|---|---|---|
| 2026-01-01 Thu | New Year’s Day | 1 day off | −1 |
| 2026-01-19 Mon | Birthday of Martin Luther King, Jr. | 1 day off | −1 |
| 2026-02-16 Mon | Washington’s Birthday | 1 day off | −1 |
| 2026-05-25 Mon | Memorial Day | 1 day off | −1 |
| 2026-06-19 Fri | Juneteenth National Independence Day | 1 day off | −1 |
| 2026-07-03 Fri | Independence Day | Observed (actual date 2026-07-04 Sat is a weekend) | −1 |
| 2026-09-07 Mon | Labor Day | 1 day off | −1 |
| 2026-10-12 Mon | Columbus Day | 1 day off | −1 |
| 2026-11-11 Wed | Veterans Day | 1 day off | −1 |
| 2026-11-26 Thu | Thanksgiving Day | 1 day off | −1 |
| 2026-12-25 Fri | Christmas Day | 1 day off | −1 |
Share these inputs: the values go after the # in the link, so they never reach a server.
https://tapcub.com/tools/days-between-dates
Version v1.0Updated Update history
Which number answers your question
"How far apart", "how many days" and "how many business days" give different answers for the same two dates. Decide which one you need first.
Days
Depends on the end dates. The difference from November 1 to November 30 is 29 days; with both ends included it is 30, the whole month. Use "include both" for report ranges, leave and campaign length; use the difference for "how many days until" and "how long ago".
Business days and days off
Each counted day is checked: Monday to Friday is a business day unless it is a holiday; in China, a weekend listed as a make-up workday counts as a business day. The two add up to the day count. Per-business-day rates (leads, tickets) compare more fairly than per-calendar-day ones.
Years, months and days
Counted on the calendar: whole months are added to the start date until one more month would pass the end date, and the rest is days. So January 31 to February 28 is "1 month", not 28 days. Read ages, tenure and contract terms this way.
Comparison periods
Two ways each for period-over-period and year-over-year. The weekday-aligned versions line up Monday with Monday, so both ranges have the same number of weekend days; the plain versions just move back on the calendar. If the business-day counts differ a lot, discount the comparison.
Everything is counted in calendar days, not "milliseconds ÷ 86,400,000", so time zones and daylight saving cannot shift the result.
Three steps to days and business days
No button to press; results update as you go.
-
1
Pick two dates
Use the date pickers, or the buttons for today, this month or this year. The share link carries both dates.
-
2
Decide on the end dates
Report ranges, leave and campaign length: include both. Countdowns and "how long ago": difference. If in doubt, the "Days counted" row says exactly which days were counted.
-
3
Choose the holidays
US federal holidays for US business days, China for mainland operations, or weekends only. The holiday table shows what each holiday in the range did to the count.
Days = end − start, plus 1 to include both ends
Each date becomes a day number (days since 1970-01-01); subtracting gives the difference. Business days are checked one calendar day at a time against the holiday data, which records the official source for every year.
- Difference = end − start; include both = difference + 1; exclude both = difference − 1 (never below 0)
- Business days = Monday–Friday − holidays falling on Monday–Friday + make-up workdays on weekends (China only)
- US federal holidays follow 5 U.S.C. 6103 and OPM’s list: a Saturday holiday is observed on Friday, a Sunday holiday on Monday. Inauguration Day (Washington, DC area only) and one-off closures by executive order are not included
- China holidays come from the State Council General Office notice for each year, 2019–2027 (the 2027 notice was published on 2026-11-05), including the 2019 May Day change and the 2020 Spring Festival extension
- Comparison periods match TapCub reports: weekday-aligned previous period moves back a multiple of 7 days; weekday-aligned last year moves back 364 days; same-date last year subtracts one year, so February 29 lands on March 1
| Comparison | Range | Business days |
|---|---|---|
| This period | Sun 2026-11-01 to Mon 11-30 | 19 |
| Previous period, weekday-aligned (35 days back) | Sun 2026-09-27 to Mon 10-26 | 20 |
| Previous period, back-to-back (30 days back) | Fri 2026-10-02 to Sat 10-31 | 20 |
| Last year, weekday-aligned (364 days back) | Sun 2025-11-02 to Mon 12-01 | 19 |
| Last year, same dates | Sat 2025-11-01 to Sun 11-30 | 18 |
Business days in each quarter of 2026
Set the first and last day of each quarter, include both ends, and run it once with US federal holidays and once with weekends only.
| Quarter | Range | Days | Business days (US federal) | Weekends only |
|---|---|---|---|---|
| Q1 | Jan 1 – Mar 31 | 90 | 61 | 64 |
| Q2 | Apr 1 – Jun 30 | 91 | 63 | 65 |
| Q3 | Jul 1 – Sep 30 | 92 | 64 | 66 |
| Q4 | Oct 1 – Dec 31 | 92 | 62 | 66 |
| Full year | Jan 1 – Dec 31 | 365 | 250 | 261 |
Q1 loses three business days to New Year’s Day, Martin Luther King Jr. Day and Washington’s Birthday. Independence Day 2026 falls on a Saturday, so it is observed on Friday, July 3 and still costs Q3 a business day. Q4 has four holidays: Columbus Day, Veterans Day, Thanksgiving and Christmas.
Where day counts go off by one
The formula is one line. The errors come from not saying which days are in.
Unclear end dates
"November 1 to November 30" is 29 or 30 days depending on whether both ends count. Report ranges include both; "reply within 3 days" usually starts tomorrow. Write "inclusive" or "exclusive" into specs and contracts.
Dividing milliseconds by 86,400,000
Subtracting two timestamps and dividing by a day’s milliseconds breaks on daylight-saving days, which last 23 or 25 hours: you get 0.958 or 1.04 days and rounding loses a day. Servers in another time zone can get the date itself wrong. Subtract calendar day numbers instead.
Forgetting observed holidays
When July 4 or December 25 falls on a weekend, federal offices close on the Friday before or the Monday after. Skipping only the actual date gives one business day too many. The same goes for New Year’s Day on a Saturday, which is observed on December 31 of the previous year.
Comparing misaligned weeks
If this month starts on a Sunday and last month on a Wednesday, the two ranges have different numbers of weekend days, and a weekend-heavy business sees fake growth or decline. Use weekday-aligned periods, or at least check business days in each range.
Comparison periods are already aligned in your reports
TapCub trend charts can overlay a comparison period. It is weekday-aligned by default, using the same rules as the comparison table on this page, so nobody has to work out which days to compare.
Trends with a comparison period
Pick previous period or same period last year in pro-mode analysis models; the comparison is drawn as a dashed line, with an option to align weekdays.
Learn moreAlerts against the previous period
Get notified by email, chat apps or webhook when a metric drops or spikes against the previous period.
Learn moreHeatmaps across two date ranges
Pick a range before and after a redesign and compare clicks and scroll depth.
Learn moreDays between dates: FAQ
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
How do I calculate the number of days between two dates?
Turn both dates into day numbers and subtract: 2026-11-01 to 2026-11-30 is a difference of 29 days. If you mean how many days the period covers, count both ends and add 1, which gives 30. The "Start and end dates" setting switches between the two.
Does the days between dates calculator include the end date?
Only if you choose "Include start and end". The default difference matches Excel’s =B1-A1 and =DATEDIF(A1,B1,"d"); including both ends matches =B1-A1+1 and the way report date ranges work.
How many business days are in 2026?
With US federal holidays, 2026 has 250 business days: 261 weekdays minus 11 holidays, all of which land on a weekday once observed dates are applied (July 4 is a Saturday, so July 3 is the day off). With weekends only it is 261. Under China’s 2026 holiday schedule it is 248.
Which US holidays are counted?
The 11 federal holidays in 5 U.S.C. 6103: New Year’s Day, Martin Luther King Jr. Day, Washington’s Birthday, Memorial Day, Juneteenth, Independence Day, Labor Day, Columbus Day, Veterans Day, Thanksgiving and Christmas. Saturday holidays are observed on Friday and Sunday holidays on Monday, as OPM publishes them. State holidays, Inauguration Day and one-off closures are not included.
How does it handle China’s make-up workdays?
Choose China and each day is checked against the State Council notice for that year: holiday dates are days off even on weekdays, and weekends announced as workdays count as business days. Excel’s NETWORKDAYS cannot add those weekends back. Notices for 2019–2027 are included; later years are added once published.
Why do "years, months and days" not match the total?
Months have 28 to 31 days. The tool adds whole calendar months to the start date until another month would pass the end date, then counts the remaining days. 2026-01-31 to 2026-02-28 is 1 month and 0 days, but only 28 days.
What is a weekday-aligned comparison period?
A range moved back by a multiple of 7 days, so Monday is compared with Monday. For the previous period the shift is rounded up to whole weeks; for last year it is 364 days. Without alignment you compare the same calendar dates, which can include an extra weekend day.
How do I count the days between two dates in Excel?
With the dates in A1 and B1: the difference is =B1-A1 (format the cell as General to see a number), and =B1-A1+1 includes both ends. For years, months and days use =DATEDIF(A1,B1,"y"), "ym" and "md"; Microsoft warns that "md" can be wrong near month ends. Business days are =NETWORKDAYS(A1,B1,holidays), counting both ends. Google Sheets uses the same functions. To add days to a date instead, use the date calculator.
Update history
New features, fixes and data refreshes for this tool, newest first.
-
· v1.0
LaunchedFirst release.
Data this tool relies on
- China public holiday schedule (State Council notices, 2019–2027) — checked 2026-11-11, reviewed every 12 months (next review by 2027-11-11)
Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates
Let your reports line up the dates
With TapCub installed, trends, funnels and retention split days in your site’s time zone, comparison periods are weekday-aligned, and alerts flag sudden changes against the previous period.