Date Difference Calculator
Calculate the difference between two dates in calendar years/months/days and totals in weeks/days/hours/minutes/seconds. Include/exclude end day toggle with plain-English explanation. Business-days mode with custom weekend + holiday list. Age calculation. 'Ago / from now' phrasing. Batch mode. Shareable URL. 100% client-side.
About Date Difference Calculator
Calculate the difference between two dates in calendar years/months/days and totals in weeks/days/hours/minutes/seconds. Include/exclude end day toggle with plain-English explanation. Business-days mode with custom weekend + holiday list. Age calculation. 'Ago / from now' phrasing. Batch mode. Shareable URL. 100% client-side. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
How is the calendar years/months/days breakdown calculated?
We subtract the start date from the end date one calendar component at a time, borrowing from the next-larger unit when needed. If the end day is earlier than the start day, we borrow days from the previous month (using that month's actual length — so Feb gives 28 or 29). If the end month is earlier than the start month, we borrow from years. This is calendar-correct for month-end and leap-day cases like Jan 31 → Feb 28 (which is 0 months 28 days, not 1 month).
What does 'include end day' mean and why are there two conventions?
There are two common conventions. Exclusive (default): count the number of midnights crossed from start to end, so Jan 1 → Jan 2 = 1 day and the same day = 0 days. Inclusive: count both endpoints, so Jan 1 → Jan 2 = 2 days and the same day = 1 day. Calculators disagree on which to use, which is why we expose a toggle and show a plain-English explanation of which convention is currently active. The toggle affects both the total days and the Y/M/D breakdown by exactly one day.
How are business days counted and what about holidays?
Business days = weekdays minus holidays. You pick which days of the week count as weekend (default Saturday + Sunday; you can change to Friday-Saturday for Middle East weeks or any other pattern) and provide a holiday list (one date per line, YYYY-MM-DD). We then walk the date range day-by-day, counting days that are not in your weekend set and not in your holiday list. The 'include end day' toggle controls whether the end date itself is counted.
Can this also calculate age?
Yes. Switch to age mode, enter a birth date, and we compute the age in calendar years/months/days (with borrowing, same as the date difference). We also show the next birthday in days and the date it falls on, plus the total number of days you've been alive. The age is computed against today's UTC date by default but you can pin 'today' to any date for back-dated or future calculations.
What extra features does this tool have versus others?
(1) Calendar-correct Y/M/D breakdown handling variable month lengths and leap years. (2) Include/exclude end day toggle with plain-English explanation. (3) Totals in weeks/days/hours/minutes/seconds simultaneously. (4) Optional time-of-day inputs for sub-day precision. (5) Optional time-zone per date for true elapsed time across DST. (6) Business-days mode with custom weekend + holiday list. (7) Age calculation with next-birthday countdown. (8) 'Ago / from now' relative phrasing. (9) Batch mode for multiple date pairs (CSV input/output). (10) Negative difference handling (end before start). (11) Shareable URL encoding all inputs (fragment, never sent to server). (12) localStorage history (max 20, metadata only). (13) Copy each unit, copy full summary, download CSV.
Is my data sent anywhere?
No. All date math runs locally. The shareable URL is fragment-encoded so it never reaches a server. History is stored in localStorage on this device only and contains metadata (date strings), never any notes.
Related tools
.bashrc / .zshrc Alias & Config Manager
Build shell aliases, functions, exports, and PATH edits in a visual editor, then export a clean, commented .aliases file sourced from both .bashrc and .zshrc — with shadowing detection against shell builtins and common CLI tools, function suggestions when args are needed, starter packs (git, docker, kubectl, navigation, safety, ls, dev, devops, data science), import of existing rc files, dedupe, history (localStorage), and shareable URL. 100% client-side.
Add / Subtract Date Calculator
Add or subtract years, months, weeks, days, hours, minutes and seconds from a starting date/time. Calendar-day or business-day mode with custom weekend + holiday list. Month-end policy toggle (clamp to last day vs overflow). Repeat/series mode (e.g. every 2 weeks x 10) with CSV export. Shareable URL. 100% client-side.
Age Calculator
Calculate exact age from a birth date in calendar years/months/days (no negative-day bugs) plus totals in months/weeks/days/hours/minutes/seconds. Next-birthday countdown with weekday. Feb-29 birthday policy toggle. Milestones (1,000 days, 10,000 days, 1 billion seconds). Zodiac sign + Chinese zodiac. Age gap comparison. Shareable URL. 100% client-side.