Date difference calculator

Age in years, months and days (calendar months), on any date. Runs on your device.

A date difference is most often needed for a notice period, a lease that starts on one day and ends on another, a project plan with a fixed end, or the length of a trip. The person asking usually needs a number they can write on a form or in an email: how many months and days lie between the two dates, and how many days in total. This page opens with the start date set to 31 January 2024 and the end date set to 1 March 2024, so the first result already shows the month-end rule at work. One month after 31 January 2024 is 29 February, so 1 March is 1 month and 1 day after the start, and the total is 30 days. Choose your own dates and the result updates as you type. The start day is not counted and the end day is: from 1 January to 2 January is 1 day. If the start date is after the end date, the tool swaps them and tells you it has done so, so the result is always the time between the two. The tool counts calendar days only. It does not skip weekends or public holidays, so it cannot give a count of working days. Use it when a calendar count is what you need.

How it works

  1. Enter a date of birth
  2. Choose the date to measure to
  3. Read the age and next birthday

How the years, months and days are counted

The tool counts whole calendar months first, then the days left over. It starts at the date of birth, adds one month at a time, and stops at the last whole month that does not pass the date you chose. The days after that month are the days figure. Months are not 30 days long: a month is the same calendar month each time, so 15 June to 15 July is one month whatever the length of June. A birth day that a month does not have is moved back to the month's last day. For example, 31 January plus one month is 28 February in a normal year and 29 February in a leap year. So 31 January 2023 to 1 March 2023 is 1 month and 1 day: the month ends on 28 February, and 1 March is one day after it. The same start date to 28 February 2023 is exactly 1 month and 0 days. Years and months come from the same count: 12 months are shown as 1 year, and the remaining months and days follow. Zeros are kept, so a result always reads with all three units, such as 34 years, 0 months, 0 days.

Born on 29 February

A person born on 29 February has a birthday only in leap years. In a year without 29 February, this tool counts the birthday on 28 February. So someone born on 29 February 2000 reaches a birthday on 28 February 2023, and their next one is 29 February 2024. The same rule sets the next birthday and the day it falls on. This is a common convention for calculating age, not a legal rule. Legal age rules vary by country and by purpose: a law may count a 29 February birthday on a different day, or use its own date for a particular benefit or contract. If the answer is needed for a legal matter, check the rule that applies to you. The tool shows the 29 February line on the result whenever the date of birth is 29 February, so the convention is always visible.

Totals: months, weeks and days

Below the age, the result shows three totals, then the weekday of birth and the next birthday. Total months is the number of whole calendar months counted in the age, so 34 years and 0 months is 408 months. Total weeks is the total number of days divided by seven, with the days left over shown beside it: 12,419 days is 1,774 weeks and 1 day. Total days is the number of days from the start date to the end date. The start day is not counted and the end day is, so 1 January to 2 January is 1 day. Only calendar dates are used, so a time of day or a time zone does not change the figure. The weekday of birth is the day of the week on which the date of birth fell, for example Friday for 15 June 1990. The next birthday shows the date, the weekday, the number of days until it, and the age it brings. On the birthday itself the tile shows Today.

Your dates stay here

Nothing you type is stored or sent. The dates are not saved in this browser, not put in the address of the page, and not sent to any server. The page counts visits with Google Analytics, which records which tool was opened and never the dates you entered. The only date this tool reads from your device is today's calendar date, when the page opens or when you press Today. It uses the calendar date on your device, so a time zone can change which day is today, but it never changes the calculation for the dates you enter. This tool does not count hours, minutes or seconds, time zones, business days or other calendars. If you need one of those, use a tool built for it.

Frequently asked questions

Is the end date counted?

No. The result is the time from the start date to the end date. From 1 January to 2 January is 1 day, and from 1 January to 1 January is 0 days. If you need the end date included, add one day to the total days.

Can it count working days only?

No. The tool counts every calendar day, including weekends and public holidays, so a span of 30 days stays 30 days. The weekday for each date is shown, so you can check the days yourself.

What happens when the start date is after the end date?

The tool swaps the two dates so the earlier one comes first, and it shows a line saying the dates were swapped. For example, a start of 1 March 2024 and an end of 31 January 2024 gives the same result as the other way round: 1 month and 1 day.

How is my age calculated?

The tool counts whole calendar months from your date of birth, then the days after the last whole month. A birth day that a month does not have falls on that month's last day. For example, someone born on 31 January 2000 is 24 years, 0 months and 28 days on 28 February 2024, and 24 years and 1 month on 29 February 2024, because 31 January plus one month is the last day of February in that year.

Is this my legal age?

It is an age in calendar years, months and days, counted in the way the tool describes. Legal age rules vary by country and by purpose, such as voting, driving or a pension, and a law can count a date differently. Check the rule that applies to you. For a 29 February birthday, this tool uses 28 February in years that are not leap years, and that is a convention, not a legal rule.

Why does 31 January to 1 March show 1 month and 1 day?

One month after 31 January is 28 February in 2023, because February has fewer than 31 days. The tool counts whole months to 28 February and then one day to 1 March, so the result is 1 month and 1 day, 29 days in total. In 2024, the same start to 29 February is exactly 1 month and 0 days, and to 1 March it is 1 month and 1 day.

When is my birthday if I was born on 29 February?

In leap years, 29 February is your birthday. In other years the tool counts it on 28 February. Someone born on 29 February 2000 has their birthday counted on 28 February 2023, when the age it brings is 23, and turns 24 on 29 February 2024. The tool states this convention on the result.

Can I find my age on a past or future date?

Yes. Change the age on date. Any real calendar date from 1000-01-01 to 9998-12-31 works, so you can see an age on a date in the past, such as the day a form was signed, or in the future, such as a school cut-off date. A date of birth after the date you chose gets a message instead of a result.

Does it use my time zone?

Only to show today's calendar date in the Age on box. The calculation itself uses calendar dates with no time of day, so the same two dates always give the same answer, whatever time zone your device is set to.

Are my dates saved?

No. The dates are not stored in this browser or on any server, and they are not in the address of the page. Reloading the page brings back the example date of birth and today's date. The only date read from your device is today's, which is used when the page opens or you press Today.