31 January plus one month in a leap year
- Start date
- 2024-01-31
- Operation
- Add
- Amount
- 1
- Unit
- Months
- Resulting date
- 2024-02-29
- Day of the week
- Thursday
- Calendar days moved
- 29 days
Checked against: Independent calculation
The date a number of days, weeks, months, years or business days after or before a start date, with its weekday and the calendar days moved.
By AdminDrafted with AI writing toolsUpdated Checked examples: 7
Thu 12 Nov 2026 plus 30 days is Saturday, 12 December 2026.
Day numbers count from 1 January 1970 in the proleptic Gregorian calendar.
Saturday, 12 December 2026, 30 calendar days later.
Days and weeks are added to the start date's day number, a running count of days since 1 January 1970, so month lengths and leap years take care of themselves. Months and years move the month and keep the day of the month; when that day doesn't exist in the target month, the result is the month's last day, the same rule as Excel's EDATE. Business days are counted one at a time from the day after the start, stepping over the chosen weekend days.
Typical uses are due dates, return and cooling-off windows, visa and licence expiry dates and medication courses. 100 days after 15 January 2026 is Saturday, 25 April 2026, and 5 business days after Friday, 16 January 2026 is the following Friday.
Month steps can't always be undone: 31 March 2026 minus one month is 28 February, and 28 February plus one month is 28 March. Public holidays are not skipped here; the working-day deadline calculator takes a holiday list.
Count forward from the day after the start date, so the start itself is day zero: 30 days after 15 January 2026 is 14 February 2026, 16 days to 31 January and 14 more. To go back, count backward from the day before. Months and years work differently, keeping the day of the month.
| Start date | Operation and amount | Resulting date | Calendar days moved |
|---|---|---|---|
| 2026-01-01 | Add 90 days | 2026-04-01 | 90 |
| 2026-10-05 | Add 444 days | 2027-12-23 | 444 |
| 2024-02-29 | Add 365 days | 2025-02-28 | 365 |
| 2026-01-15 | Add 6 weeks | 2026-02-26 | 42 |
| 2026-10-05 | Subtract 30 days | 2026-09-05 | -30 |
| 2026-10-05 | Add 0 days | 2026-10-05 | 0 |
For a large number of days, use day-of-year numbers. 5 October is day 278 of 2026, and 278 + 444 = 722. Taking off the 365 days of 2026 leaves day 357 of 2027, and since 1 December is day 335, that is Thursday 23 December 2027. Take off 366 for a leap year.
Today means your local calendar date, so near midnight two people in different time zones get different answers. At 20:00 UTC on 31 December 2027, 444 days from today is 19 March 2029 in London but 20 March 2029 in India, where it is already 1 January 2028.
To give someone a result they can reproduce, write out the start date, such as 2026-10-05, instead of today, and say which unit you counted in.
Some rules count the start date as day 1. A 7-day period that begins on 15 January 2026 and counts that day ends on 21 January, 6 days later, so add 6 rather than 7.
A month is not 30 days. From 31 January 2026, 30 days later is 2 March, but one month later is 28 February.
Adding months moves to the same day number in the target month. When that day doesn't exist, the result is the target month's last day, the rule used by Microsoft Excel's EDATE and the dateutil relativedelta library, so 31 January 2024 plus one month is 29 February.
| Start date | Operation and amount | Resulting date | Calendar days moved |
|---|---|---|---|
| 2024-01-31 | Add 1 month | 2024-02-29 | 29 |
| 2026-01-31 | Add 1 month | 2026-02-28 | 28 |
| 2024-01-31 | Add 2 months | 2024-03-31 | 60 |
| 2026-03-31 | Subtract 1 month | 2026-02-28 | -31 |
| 2026-02-28 | Add 1 month | 2026-03-28 | 28 |
| 2024-02-29 | Add 1 year | 2025-02-28 | 365 |
| 2027-03-01 | Add 1 year | 2028-03-01 | 366 |
A year is 12 months under the same rule, so it spans 365 or 366 days depending on whether a 29 February falls inside it, as the last two rows show.
Month steps can't always be undone. 31 March 2026 minus one month is 28 February, and 28 February plus one month is 28 March. Adding two months to 31 January 2024 gives 31 March, but adding one month twice gives 29 March, so work out each offset from the original date.
Business days are counted from the day after the start, skipping weekend days, and the start date never counts as one of them. Friday 16 January 2026 plus 1 business day is Monday 19 January, 3 calendar days later.
| Start date | Business-day operation | Weekend | Resulting date | Calendar days moved |
|---|---|---|---|---|
| 2026-01-16 | Add 1 | Sat–Sun | 2026-01-19 | 3 |
| 2026-01-16 | Add 5 | Sat–Sun | 2026-01-23 | 7 |
| 2026-01-17 | Add 0 | Sat–Sun | 2026-01-17 | 0 |
| 2026-01-15 | Subtract 10 | Sat–Sun | 2026-01-01 | -14 |
| 2026-01-16 | Add 5 | Fri–Sat | 2026-01-22 | 6 |
| 2026-01-18 | Subtract 1 | Sun only | 2026-01-17 | -1 |
Adding 0 business days leaves the start date unchanged, even on a weekend: Saturday 17 January 2026 stays 17 January. The weekend can be Saturday and Sunday, Friday and Saturday, or Sunday only.
Public holidays are not skipped. For a deadline that must avoid them, use the working-day deadline calculator with your holiday list, and check whether a contract or court sets its own rule for the first day.
To count the days between two known dates, use the date difference calculator, and for the weekday of a single date, the day of the week calculator.
Checked against: Independent calculation
Checked against: Independent calculation
Checked against: Independent calculation
Checked against: Independent calculation
Enter today as the start date, choose Add, type 90 and pick Days. Counting starts on the day after the start date, so 90 days from 1 January 2026 is 1 April 2026: January, February and March hold 31 + 28 + 31 = 90 days. In a leap year the same count from 1 January ends on 31 March, because February has 29 days.
28 February, or 29 February in a leap year such as 2024. A day of the month that doesn't exist in the target month is moved back to that month's last day, which is how Excel's EDATE and Python's dateutil relativedelta behave. The same rule makes 31 March minus one month 28 February 2026, and 31 August plus one month 30 September.
Count forward from the day after the start date and skip each weekend day. Friday, 16 January 2026 plus 5 business days is Friday, 23 January, 7 calendar days later; 10 business days before 15 January 2026 is 1 January. Public holidays are not skipped in this calculator, whereas Excel's WORKDAY(start, days, holidays) skips any holidays you list.
Only when the year ahead has no 29 February in it. From 15 January 2027 one year later is 15 January 2028, 365 days on, but from 1 March 2027 one year later is 1 March 2028, 366 days on, because 29 February 2028 falls in between. 29 February 2024 plus one year becomes 28 February 2025 under the month-end rule.
This calculator includes 7 worked examples with independently sourced answers. They run in the test suite, and you can run them here too.