Date Difference Calculator
Calculate the exact difference between two dates — years, months, days, working days, and more.
What Feb 29 → Feb 28 of the next year actually produces
We ran the exact algorithm from the source code against a leap-year edge case to verify the result before writing about it. If your start date is February 29 of a leap year and your end date is February 28 the following (non-leap) year, the calendar breakdown comes back as 0 years, 11 months, 30 days — not "1 year, 0 days." The algorithm correctly borrows from the prior month when the raw day difference goes negative: since February 28 minus February 29 is −1, it backs up one month to January, borrows January's 31 days, and restates the difference as January 30 with month count reduced. Then since month count has gone negative, it backs up a year too. The net result is 11 months, 30 days. The very next day — February 29 → March 1 — produces exactly "1 year, 0 months, 0 days." If you're calculating someone's age and their birthday is February 29, this tool will show them as "not yet 1 year old" on February 28, then "exactly 1 year old" on March 1.
Calendar difference vs total days
There are two ways to express a date difference. The total days count is simple arithmetic — subtract one date's day number from the other. The calendar breakdown (X years, Y months, Z days) accounts for the unequal lengths of months. For example, the difference between January 1 and March 31 is 89 days in total, but as a calendar breakdown it is 2 months and 30 days — not 2 months and 31 days, because the calendar algorithm borrows March's 31 days minus 1 = 30 remaining days. This asymmetry means the month/day breakdown can produce results that feel slightly counterintuitive for spans crossing February, which has only 28 or 29 days. Total days is always unambiguous for precise arithmetic; calendar breakdown is better for human-readable descriptions of the same span.
How business days are counted
Business days are all days from Monday through Friday, regardless of public holidays. Holiday schedules vary by country and even by company, so this tool does not attempt to exclude them — it gives you the pure weekday count. Subtract any known holidays manually if you need a precise working-day count for your region.
The calculation is also entirely timezone-agnostic — it operates on calendar dates (year/month/day integers), not on timestamps. If you're computing an SLA measured from a UTC timestamp ("response within 3 business days from when the ticket arrived"), convert the UTC arrival time to the relevant business timezone first, then use this tool for the calendar arithmetic. A ticket arriving at 11 PM UTC in New York's business timezone (evening of the prior local date) has a very different business-day start than one arriving at 9 AM UTC.
How to use this tool
- Set the start date using the date picker on the left.
- Set the end date using the date picker on the right.
- Toggle Include end date if you want the end date counted as a full day (useful for booking systems where checkout day counts as one night).
- Results update automatically — no button press needed.
- Use Set today as end to quickly measure elapsed time from any start date to now.
Common use cases
- Project timelines — how many working days between kick-off and deadline?
- Age calculation — how old is someone in years, months, and days?
- Deadlines and countdowns — how many days until a contract expires or an event occurs?
- Invoice and payment terms — when is NET-30 from a given invoice date?
- SLA tracking — how many business days has a support ticket been open?
1 month
Calendar breakdown
Years |
0 |
Months |
1 |
Days |
0 |
Total duration
Total days |
30 |
Total weeks |
4 weeks 2 days |
Business days (Mon–Fri) |
21 |
Total hours |
720 |
Total minutes |
43,200 |
Weekday breakdown
Weekends (Sat+Sun) |
9 days |
Weekdays (Mon–Fri) |
21 days |