Free tool Date calculator: add days, months and business days
Count forward or back from today, or any date, by days, weeks, months or years and see the date and weekday you land on. Switch to business days to skip weekends and US federal holidays (or China’s public holidays and make-up workdays). The ISO week, US week number and day of the year come with every result.
- Years, months, weeks, days
- Business days with holidays
- Runs locally
Add to or subtract from a date
Starts at today plus 90 days. You can fill years, months, weeks and days together: years and months are added first, then weeks and days. Negative numbers go the other way.
Set to today when the page opens (unless you opened a share link).
Business days counts only working days, skipping weekends and holidays.
US: federal holidays, with Friday or Monday off when one falls on a weekend. China: State Council notices (2019–2027), including weekend make-up workdays. Also used for the "Day type" row.
The start date is not counted; counts forward (or back) to the Nth business day, like Excel’s WORKDAY.
Result
2027-02-08 Monday
2026-11-10 plus 90 days: 90 days later
Business day
Date details
Weekday, week numbers, day of the year and day type for the start date and the result.
| Start date | Result | |
|---|---|---|
| Date | 2026-11-10 | 2027-02-08 |
| Weekday | Tuesday | Monday |
| Day type | Business day | Business day |
| ISO week | Week 46 of 2026 (2026-W46) | Week 6 of 2027 (2027-W06) |
| Week number (Sunday start, Excel WEEKNUM) | Week 46 | Week 7 |
| Day of the year | Day 314 of 365 (51 left) | Day 39 of 365 (326 left) |
| Quarter | Q4 | Q1 |
| Days in the month | 30 days | 28 days |
| Leap year | No | No |
| From today | 1 days ago | 89 days from today |
Holidays skipped on the way
In business-day mode, the days between the start and the result that changed the count.
Share these inputs: the values go after the # in the link, so they never reach a server.
https://tapcub.com/tools/date-calculator
Version v1.0Updated Update history
What comes with the result date
Once you have the date, you usually want its weekday, its week and whether anyone is at work that day. That is all in the details table.
Result date
Years and months follow the calendar: 2026-08-31 plus 6 months is 2027-02-28, because February has no 31st, so the last day of the month is used and the page says so. Weeks and days are simply counted, whatever the month lengths.
Business days
The start date is not counted. Each following day is checked; weekends and holidays are skipped, and in China a weekend make-up workday counts. "Calendar days later" tells you how far the deadline really is: 10 business days around Thanksgiving or Christmas can span more than two weeks.
ISO week
ISO 8601 weeks start on Monday, and week 1 is the week with the year’s first Thursday. So 2027-01-01 (a Friday) belongs to week 53 of 2026. Excel’s ISOWEEKNUM, Python’s isocalendar() and most European calendars use it.
Week number and day of year
The other common numbering starts weeks on Sunday and calls the week with January 1 week 1, matching Excel’s default WEEKNUM and most US wall calendars. Day of the year counts from January 1: 2026-11-10 is day 314.
"Day type" uses the holidays selected above; with weekends only, it just says business day or weekend.
Three steps to a date
Results update as you type. Buttons cover 30 days, 100 days, 6 months and 10 business days from now.
-
1
Set the start date
Today by default. For contract ends, delivery dates or trial expiry, use the signing or order date.
-
2
Enter the amount
For calendar math fill years, months, weeks and days, in any combination (for example 1 year and 2 months). For business days, switch "Add what" and enter the number. Choose "Back" to count backwards.
-
3
Read the result and details
The large date shows the result and weekday, with what was added and how many calendar days that is. The details table has week numbers, day of the year and day type; business-day mode also lists the holidays skipped.
Years and months first, then weeks and days; business days one by one
Dates are converted to day numbers (days since 1970-01-01), never to timestamps, so time zones and daylight saving cannot move the result. Adding months follows Python’s dateutil and Excel’s EDATE; adding business days follows Excel’s WORKDAY, plus China’s weekend make-up days.
- Years and months are combined into one month count and added together; if the target month is shorter, the last day of that month is used. Then weeks × 7 + days are added
- Adding N business days: the start date is not counted; move one day at a time and count each business day until N; N = 0 returns the start date
- Business day: Monday to Friday unless it is a holiday; under China’s schedule, weekends announced as workdays also count
- ISO week: Monday start; the week belongs to the year its Thursday falls in, so some years have 53 weeks (2026 does)
- US federal holidays follow 5 U.S.C. 6103 with Friday/Monday observance; China holidays come from the State Council notices for 2019–2027
Add months
result day = min(start day, days in target month)
2026-01-31 + 1 month = 2026-02-28
Add weeks and days
result = start + weeks × 7 + days
2026-11-10 + 90 days = 2027-02-08
ISO week
week = ⌊(day of year of that week’s Thursday − 1) ÷ 7⌋ + 1
2026-11-10 → 2026-W46
Sunday-start week
week = ⌊(day of year − 1 + weekday of Jan 1) ÷ 7⌋ + 1
Sunday = 0; 2026-11-10 → week 46
Common date questions, checked one by one
Start from 2026-11-10 (a Tuesday) or the date in the row, with US federal holidays selected.
| Question | Input | Result |
|---|---|---|
| 90 days from now | 2026-11-10, add 90 days | Monday, 2027-02-08 |
| 90 days ago | 2026-11-10, back 90 days | Wednesday, 2026-08-12 |
| 6 months from a month end | 2026-08-31, add 6 months | Sunday, 2027-02-28 (no February 31) |
| 10 business days | 2026-11-10, add 10 business days | Wednesday, 2026-11-25, 15 days later |
| 5 business days over the holidays | 2026-12-24, add 5 business days | Monday, 2027-01-04, 11 days later |
| Week number at year end | Details for 2027-01-01 | ISO 2026-W53; Sunday-start week 1 |
Row four skips Veterans Day (Wednesday, November 11). Row five skips Christmas Day (Friday) and New Year’s Day (the next Friday), so five business days take eleven calendar days.
Where date math usually goes wrong
Most errors happen at month ends, year ends and time zone boundaries.
Adding months with setMonth
In JavaScript, new Date(2026, 0, 31) followed by setMonth(1) gives March 3: February has no 31st, so the extra days roll over. "January 31 plus one month" almost always means February 28, so handle month ends yourself.
Wrong year on ISO weeks
2027-01-01 is in ISO week 53 of 2026. Building the label from the date’s own year produces "2027-W53", which does not exist. Weekly reports and file names should use the ISO week-year (Python isocalendar(), MySQL YEARWEEK(date, 3)).
Counting the start date as day one
"Ships within 3 business days" normally starts the day after the order. Counting the order date makes every deadline a day early. This tool, like Excel’s WORKDAY, does not count the start date.
Date strings parsed as UTC
JavaScript reads new Date("2026-11-10") as midnight UTC, which displays as November 9 anywhere in the Americas. When only the day matters, work with year, month and day separately or state the time zone.
Time between events, calculated in the report
How many days from first visit to first order, or between repeat purchases? TapCub’s interval analysis gives the distribution and percentiles directly, without exporting dates to work them out by hand.
Interval analysis
Time between two events, such as first visit to first order, with percentiles as well as the average.
Learn moreDaily or weekly report subscriptions
Send the board on a schedule by email or chat app, per segment if you like.
Learn moreWeekday-aligned comparisons
Compare with the previous period or last year with Monday lined up against Monday.
Learn moreDate calculator: FAQ
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
How do I find the date 90 days from today?
Keep today as the start date (it is filled in when the page opens), choose Forward and enter 90 days. From 2026-11-10 that is Monday, 2027-02-08. Choose Back for a date in the past, such as 90 days ago.
How does the date calculator add a month to the 31st?
If the target month is shorter, it uses that month’s last day: January 31 plus one month is February 28 (29 in a leap year), March 31 minus one month is February 28. This matches Excel’s EDATE and Python’s relativedelta. JavaScript’s setMonth rolls over into March instead.
How do I add business days to a date?
Switch "Add what" to business days and enter the number. The start date is not counted; weekends and the selected holidays are skipped, using observed dates (Friday for a Saturday holiday, Monday for a Sunday one). It is the same rule as Excel’s WORKDAY(start, days, holidays), without having to list the holidays yourself.
What week number is it? ISO week vs WEEKNUM?
ISO 8601 weeks start on Monday, and week 1 contains the year’s first Thursday, so early January can belong to the previous year’s week 52 or 53. Excel’s default WEEKNUM starts on Sunday and calls the week with January 1 week 1. Both appear in the details table; they agree for 2026-11-10 (week 46) but differ around New Year.
What day of the year is it?
It is the date’s position counting from January 1, shown in the details table along with the days left. 2026-11-10 is day 314 of 365, with 51 days left. In Excel: =A1-DATE(YEAR(A1),1,0).
How do I do the same in Excel or SQL?
Excel: add days =A1+90, add months =EDATE(A1,6), add business days =WORKDAY(A1,10,holidays), ISO week =ISOWEEKNUM(A1). MySQL: DATE_ADD(d, INTERVAL 6 MONTH) (also clamps to the month end) and YEARWEEK(d, 3) for ISO weeks.
How is this different from the days between dates and timestamp tools?
This tool starts from one date and adds or subtracts. To count the days or business days between two dates, use days between dates. For Unix timestamps with hours and seconds, use the timestamp converter; for the same moment in different cities, the time zone converter.
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 measure the gaps
With TapCub installed, time to first order, repeat-purchase intervals and retention are counted in days in your site’s time zone, and reports arrive on a daily or weekly schedule.