Date Difference Calculator
Calculate the exact difference between two dates in years, months, weeks, and days. Find business days, add or subtract days from a date, and more.
Date Difference
1yr0d
Total days
365
Total weeks
52 weeks, 1 days
Business days
262
Weekend days
104
Total hours
8,760
Full years
1
How to Use Date Difference Calculator
- 1Enter the start date and end date.
- 2See the difference in years, months, weeks, and days.
- 3View the count of weekdays vs weekend days.
- 4Or use Add/Subtract mode to find a date N days away.
Zenovay
Track your website performance
Real-time analytics, session replay, heatmaps, and AI insights. 2-minute setup, privacy-first.
Related Tools
Color ConverterConvert colors between HEX, RGB, HSL, and CMYK formats. Live preview with color picker.
Unit ConverterConvert between units of length, weight, temperature, area, volume, speed, and more.
Number Base ConverterConvert numbers between binary, octal, decimal, and hexadecimal bases.
Unix Timestamp ConverterConvert between Unix timestamps and human-readable dates. Show ISO 8601, UTC, local time, and relative time.
Frequently Asked Questions
How do I calculate the number of days between two dates?▾
Method 1: Subtract timestamps in milliseconds and divide by 86,400,000 (ms per day). JavaScript: Math.floor((new Date(end) - new Date(start)) / 86400000). Method 2: Use the difference in UTC midnight timestamps to avoid daylight saving time issues. Tip: always use Date.UTC() or parse ISO dates to avoid timezone offset bugs. In Python: (date2 - date1).days. The result is the inclusive number of days from start to end.
What are business days (working days)?▾
Business days exclude weekends (Saturday, Sunday) and optionally public holidays. Calculating business days between two dates: iterate each day, skip weekends. Formula without iteration: business days = total days - (complete weeks × 2) - partial week weekends. For holidays, maintain a list of dates to skip. International note: some countries work on Saturday, and holiday calendars differ. Monday is typically the first business day in most countries.
How do I add or subtract days from a date?▾
JavaScript: new Date(date.getTime() + days × 86400000) — avoids DST issues by using milliseconds. Or: date.setDate(date.getDate() + days) — modifies in place. Python: date + timedelta(days=N). SQL: DATE_ADD(date, INTERVAL N DAY) (MySQL) or date + N (PostgreSQL). Adding months is trickier (month lengths differ): date.setMonth(date.getMonth() + N) in JavaScript handles this correctly, rolling over to the next month if needed (March 31 + 1 month = April 30, not April 31).
What causes date calculation errors?▾
Common pitfalls: Timezone issues — new Date("2024-01-15") parsed as UTC midnight, different from new Date("2024-01-15T00:00:00") (local time). DST (Daylight Saving Time) — days can be 23 or 25 hours, so multiplying hours by days gives wrong results. Month-end arithmetic — adding 1 month to Jan 31 could give Feb 28 or March 2. Leap year handling — Feb 29 doesn't exist in non-leap years. Best practice: use ISO 8601 UTC timestamps and tested date libraries (date-fns, Luxon) for critical calculations.
What is the ISO 8601 date format?▾
ISO 8601 is the international standard for date and time representation: dates as YYYY-MM-DD (2024-01-15), times as HH:mm:ss, combined: 2024-01-15T10:30:00Z (UTC). The format is unambiguous — unlike 01/15/24 which could be Jan 15 or 15 January depending on locale. ISO 8601 sorts correctly alphabetically. Duration format: P1Y2M3DT4H5M6S (1 year 2 months 3 days 4 hours 5 minutes 6 seconds). Interval: 2024-01-01/2024-12-31.