Date Calculator

Date arithmetic comes up constantly in planning, legal, and financial contexts. A lease agreement may run for 365 days from signing, a contract deadline might be 90 days from today, a subscription renewal lands 30 days after the start date, and a project timeline might need to count the exact number of days between two milestones. Manual calendar counting is error-prone because months have different lengths (28, 29, 30, or 31 days), leap years affect February, and it is easy to count the start or end date twice. This calculator handles two distinct tasks. In Add / Subtract Days mode, you pick a start date, choose whether to add or subtract, enter the number of days, and get the resulting date displayed in full weekday-month-day-year format. In Date Difference mode, you enter a from date and a to date and get the gap expressed in four ways: total days, weeks and remaining days, approximate months, and approximate years to two decimal places. Both modes default to dates around today so you can start calculating immediately. The results update as you type with no button press required.

The date to start from
Add or subtract days
Number of days to add or subtract
--

How the date calculations work

Both modes use the JavaScript Date object, which natively handles month-end rollovers, varying month lengths, and leap years. Adding days beyond the end of a month automatically advances to the next month.

Add / Subtract mode:
d = new Date(startDate)
d.setDate(d.getDate() + days) or d.setDate(d.getDate() - days)
result = Intl.DateTimeFormat with weekday, month, day, year

Date Difference mode:
diffMs = toDate.getTime() - fromDate.getTime()
days = Math.round(diffMs / 86400000)
weeks = Math.floor(days / 7); remDays = days % 7
months = Math.floor(days / 30.4375)
years = (days / 365.25).toFixed(2)

Worked example

Adding 90 days to 14 June 2026: June has 30 days, so 16 days remain in June. 90 minus 16 equals 74 days into July and beyond. July has 31 days (74 minus 31 equals 43), August has 31 days (43 minus 31 equals 12). Result: 12 September 2026.

Date calculator: frequently asked questions

How do I add days to a date?

Use the Add / Subtract Days mode. Enter the start date, select Add from the operation dropdown, enter the number of days to add, and read the resulting date. The calculator handles month-end rollovers and leap years automatically using the JavaScript Date object.

How do I find the number of days between two dates?

Use the Date Difference mode. Enter the earlier date in the From field and the later date in the To field. The calculator returns the difference in days, weeks and days, approximate months, and approximate years.

What is 30 days from today?

Use the Add / Subtract Days mode. The start date defaults to today. Select Add and enter 30 in the number of days field. The result shows the date 30 days from today. For example, 30 days from 14 June 2026 is 14 July 2026.

How many days until Christmas?

Use the Date Difference mode. Enter today as the From date and December 25 of the coming year as the To date. The calculator returns the number of days between the two dates. If today is already past December 25 this year, use December 25 of the following year.

What date was 90 days ago?

Use the Add / Subtract Days mode. Enter today as the start date, select Subtract from the operation dropdown, and enter 90 in the days field. The result shows the date 90 days in the past. For example, 90 days before 14 June 2026 is 15 March 2026.

Official sources

Reviewed by the CalculatorHub team, edited by James Graham, 14 June 2026. See our methodology.