What date is it before or after a date?
Pick a start date and add or subtract any mix of years, months, weeks, and days. Or switch to counting the time between two dates.
- End date
- Monday, December 28, 2026
From September 29, 2026 to Monday, December 28, 2026: 90 days.
- Days
- 90
Answer for the example date Tuesday, September 29, 2026. It changes to today's date when the page loads.
End date: Monday, December 28, 2026. From September 29, 2026 to Monday, December 28, 2026: 90 days.
How to calculate
Adds or subtracts years, months, weeks, and days to a date, or counts the time between two dates in years, months, days, and working days.
Example with the default inputs (What do you want to do? Add or subtract time, Start date September 29, 2026, Add or subtract? Add, Days 90) on the example date Tuesday, September 29, 2026: From September 29, 2026 to Monday, December 28, 2026: 90 days.
Method: Add or subtract: move the start date by 12 × years + months calendar months, then by 7 × weeks + days days. Between: count the days from the start date up to the end date (the end date too when asked), without weekends and holidays for working days.
- Years and months move first, then weeks and days. A day past the end of a shorter month moves to its last day: January 31 plus one month is February 28, or February 29 in a leap year.
- Between two dates, the start date is counted and the end date is counted only with “Count the end date”. When the end date is first, the count is negative.
- Dates are calendar days on the Gregorian calendar with no time of day, so daylight saving changes cannot add or lose a day. The dates you enter run from 1600 to 2400; a result of adding or subtracting can fall outside that range and still shows.
- Public holidays are the days off as observed. Holiday data covers the US from 1986, the UK (England and Wales) from 2019 to 2028, Canada (federal) from 2021, India (central government) from 2023 to 2027, and China from 2015 to 2035.
Worked examples
Each example is checked against the calculator on every build.
- What do you want to do? Add or subtract time, Start date 2026-09-27, Add or subtract? Add, Days 90 gives End date 2026-12-26, Days 90.Source: hand calculation in content.mdx; Python: date(2026,9,27) + timedelta(90) = 2026-12-26
- What do you want to do? Add or subtract time, Start date 2026-09-27, Add or subtract? Add, Years 1, Months 2, Weeks 3, Days 4 gives End date 2027-12-22, Days 451.Source: hand calculation in content.mdx: 14 months to 2027-11-27, then 25 days to 2027-12-22
- What do you want to do? Add or subtract time, Start date 2024-01-31, Add or subtract? Add, Months 1 gives End date 2024-02-29, Days 29.Source: hand calculation in content.mdx: February 2024 has 29 days, so the 31st clamps to the 29th
- What do you want to do? Add or subtract time, Start date 2026-03-31, Add or subtract? Subtract, Months 1, Days 1 gives End date 2026-02-27, Days -32.Source: hand calculation in content.mdx: March 31 minus one month is February 28, minus one day is February 27
- What do you want to do? Count days between dates, Start date 2026-01-01, End date 2026-12-31, Count the end date no, Count working days only no gives Days 364, Time between 11 months, 30 days, Weeks 52 weeks.Source: hand calculation in content.mdx; Python: (date(2026,12,31) - date(2026,1,1)).days = 364
- What do you want to do? Count days between dates, Start date 2026-01-01, End date 2026-12-31, Count the end date yes, Count working days only no gives Days 365, Time between 1 year.Source: hand calculation in content.mdx: 364 days plus the end date
- What do you want to do? Count days between dates, Start date 2026-01-01, End date 2026-01-31, Count the end date no, Count working days only yes, Skip Saturdays yes, Skip Sundays yes, Skip public holidays yes, Country United States gives Working days 20, Days 30.Source: OPM federal holidays 2026 (https://www.opm.gov/policy-data-oversight/pay-leave/federal-holidays/); hand calculation in content.mdx
- What do you want to do? Count days between dates, Start date 2026-12-31, End date 2026-01-01, Count the end date no, Count working days only no gives Days -364, Time between 11 months, 30 days, Note The end date is before the start date, so the count is negative..Source: hand calculation in content.mdx: the dates swap and the count is negative
How it works
Add or subtract time
- Move the start date by 12 × years + months calendar months (backward when subtracting). The day of the month stays the same; if the new month is shorter, the date moves to its last day (January 31 plus one month is February 28, or February 29 in a leap year).
- Then move by 7 × weeks + days days.
"Days" is the number of calendar days from the start date to the end date, negative when the end date is earlier.
Count days between dates
- The start date is counted. The end date is counted only when "Count the end date" is on, so January 1 to January 3 is 2 days, or 3 with the end date.
- Days is the number of days counted. When the end date is before the start date, the dates swap and the count is negative.
- Time between is the same span as whole years, then whole months, then days, from the earlier date. Month ends clamp as above.
- In weeks is the days as whole weeks and days left over.
- Working days (optional) counts the same days without Saturdays and Sundays (either can be kept), and without the chosen country's public holidays on the day they are observed.
Leap years follow the Gregorian rule: every year divisible by 4, except years divisible by 100 that are not divisible by 400.
Public holidays
- United States (1986 on): federal holidays (5 U.S.C. 6103). A holiday on a Saturday is observed on Friday, and one on a Sunday on Monday.
- United Kingdom (2019 to 2028): England and Wales bank holidays, with substitute days.
- Canada (2021 on): federal general holidays (Canada Labour Code s. 166).
- India (2023 to 2027): national holidays plus Holi and Diwali (central government, Delhi).
- China (2015 to 2035): statutory festival days, not the yearly make-up working days.
Dates outside a country's covered years give no answer with holidays on.
Assumptions
- In count mode the page also shows the end date as entered. Results of adding or subtracting can fall outside 1600 to 2400 (2400-12-31 plus 1 day is 2401-01-01); they still show.
- Dates are whole calendar days from 1600 to 2400, with no time of day or time zone.
- Years, months, weeks, and days are whole numbers from 0; leave a box empty for 0.
- Adding then subtracting the same months does not always return the start date, because of month-end clamping.
Worked examples by hand
90 days from September 27, 2026. September has 3 days left (to September 30), October 31, November 30: 3 + 31 + 30 = 64 days to November 30. 90 − 64 = 26 more days: Saturday, December 26, 2026.
1 year, 2 months, 3 weeks, and 4 days from September 27, 2026. 12 + 2 = 14 months: November 27, 2027. Then 3 × 7 + 4 = 25 days: December 22, 2027, which is 451 days after the start.
January 31, 2024 plus one month. February 2024 has 29 days (2024 is divisible by 4), so the 31st moves to February 29, 2024, 29 days later.
March 31, 2026 minus one month and one day. One month back is February 31, which moves to February 28 (2026 is not a leap year). One day back: February 27, 2026, 32 days before the start.
January 1 to December 31, 2026. 364 days, which is 11 months, 30 days and exactly 52 weeks. With the end date counted: 365 days, exactly 1 year.
US working days, January 1 to 31, 2026. The days counted are January 1 to 30 (30 days). They hold 8 Saturdays and Sundays (3, 4, 10, 11, 17, 18, 24, 25), leaving 22 weekdays, and 2 federal holidays (Thursday, January 1 and Monday, January 19): 20 working days.
December 31 back to January 1, 2026. The end date is first, so the dates swap: −364 days.
Other questions people ask
What is 90 days from today?
Add 90 to today's date, carrying into the next months. From September 27, 2026: 3 days to the end of September, 31 in October, 30 in November, and 26 more in December gives Saturday, December 26, 2026. The page starts with 90 days from today.
What happens when I add a month to January 31?
There is no February 31, so the date moves to the last day of February: February 28, or February 29 in a leap year. January 31, 2024 plus one month is February 29, 2024.
In which order are years, months, weeks, and days added?
Years and months first, then weeks and days. So 1 year, 2 months, 3 weeks, and 4 days from September 27, 2026 is 14 months later (November 27, 2027), then 25 days later: December 22, 2027. The order matters only near a month end.
How many days are there between two dates?
Choose "Count days between dates". The start date counts and the end date does not, unless you turn on "Count the end date". January 1 to December 31, 2026 is 364 days, or 365 with the end date.
How do I count working days between two dates?
In the count mode, turn on "Count working days only". Saturdays and Sundays are skipped, and you can skip a country's public holidays too. January 1 to 31, 2026 has 20 US working days: the days counted (January 1 to 30) hold 22 weekdays, less New Year's Day and Martin Luther King Jr. Day.
Does subtracting a month undo adding one?
Not always. January 31 plus one month is February 28 (2026), but February 28 minus one month is January 28. Month lengths differ, so clamped dates do not round-trip.