How to use
- For a gap, pick the start and end dates. The days, weeks, years-months-days and weekdays appear at once.
- For a new date, pick the starting date and enter years, months and days. Use a minus sign to go back.
- Read the result with its weekday, the day of the year and the ISO week number.
Examples
2026-01-01 to 2026-12-25
→ 358 days, 51 weeks 1 day, 0 years 11 months 24 daysThe start day is not counted; the difference is the end date minus the start date.
2026-01-31 plus 1 month
→ 2026-02-28February has no 31st, so the result is the last day of the month.
2026-10-07 plus 100 days
→ 2027-01-15
How it works
Dates are read as year-month-day and turned into days since 1970 at UTC midnight, so the difference between two dates is an exact whole number of days. The years, months and days breakdown moves the earlier date forward by whole months first, then counts the remaining days. Weekdays count Monday to Friday in the span from the start up to, but not including, the end date; public holidays are not considered.
The tool is tested with the examples on this page, leap years, month-end clamping and the ISO week edge cases of 2021, 2024 and 2026.
Sources
Frequently asked questions
- Is the start date counted?
- No. The count is the end date minus the start date, so 2026-10-07 to 2026-10-08 is 1 day. Add 1 if you want to count both ends.
- How are months added when the day does not exist?
- The result is the last day of the target month. January 31 plus one month is February 28, or 29 in a leap year. Months are added before days.
- Do time zones or daylight saving change the answer?
- No. Dates are treated as calendar days with no time of day, so a clock change never adds or removes a day.
- What is an ISO week?
- ISO 8601 weeks start on Monday, and week 1 is the week with the year's first Thursday. Early January can fall in week 52 or 53 of the previous year, and late December in week 1 of the next.
- Are my dates sent anywhere?
- No. All calculations run in your browser.
Related tools
Version history
- 1.0.0 — First release.