UtilityToolsLab

© 2026 UtilityToolsLab. Built and maintained by the UtilityToolsLab Team.

Free eBooks·About·Changelog·Privacy Policy·Terms of Service·Report a bug
HomeDate & Time ToolsDate Add / Subtract

Related Tools

Date DifferenceTime Zone ConverterCountdown TimerTime Card Calculator

Date Add / Subtract Calculator

Add or subtract years, months, weeks, days, hours and minutes from any date. Month-end clamping, ISO week number and a copyable ISO 8601 stamp.

You Might Also Like

All Date & Time Tools

Date Difference

Get the exact calendar difference between two dates in years, months and days, plus total days, weeks, hours and minutes.

Time Zone Converter

Convert any date and time across 40 IANA time zones simultaneously. DST handled automatically. Copy any result with one click. No server, no sign-up.

Countdown Timer

Live countdown to any date and time in days, hours, minutes and seconds. Shows total hours and minutes too. Past dates switch to elapsed time automatically.

Time Card Calculator

Calculate worked hours and overtime from clock-in, clock-out and break data. Supports night shifts, daily and weekly OT caps, and optional gross pay.

Counting forward on a wall calendar works fine until the span crosses a month boundary, and then the answer starts depending on a convention nobody writes down. Date Add / Subtract Calculator makes that convention visible instead of guessing on your behalf. You pick a start date, say how many years, months, weeks, days, hours and minutes to move by, and decide what should happen when the landing day does not exist in the month it arrives in.

Every figure is computed on UTC instants, so a daylight-saving switch inside your range never adds or drops an hour behind your back. Along with the date itself you get the weekday, the ISO week, the position in the year, and an ISO 8601 stamp ready to paste into a contract, a ticket or a config file.

Walkthrough: 31 December 2010, Plus Two Months

Press Load Sample. Start datefills with 2010-12-31 and Months with 2. The answer comes back as Monday, 28 February 2011— ISO 8601 2011-02-28, ISO week 2011-W09, day 59 of the year, a net shift of 59 days. February has no 31st, so the landing day was pulled back to the month’s real last day and an amber note names the day that was dropped. Press Load Sample a second time and a different start date arrives with the same two-month shift still applied, which makes the clamping rule easy to test against a date you choose yourself.

How It Calculates: Months First, Then Days

Order of operations decides the result here, and the order is not arbitrary. Years and months are folded into a single month count and applied first; weeks, days, hours and minutes are then added as a flat span of milliseconds. Swap those two stages and you get a different date whenever a month end is involved: 31 January plus one month plus one day is 1 March, while 31 January plus one day plus one month is 28 February. Month-first is what dateutil.relativedelta and most SQL dialects do, and it matches what people mean when they say “a month from then”, so it is the order used here.

Tricky Inputs: Month Ends and Leap Days

  • Clamping is on by default. Tick Roll over past the month end and that same 31 December 2010 plus two months lands on 2011-03-03 rather than 2011-02-28, because the three-day overflow spills into March instead of stopping at February’s last day.
  • A 29 February start only keeps its day across a whole number of years when the target year is itself a leap year. 2024-02-29 plus 1 year clamps to 2025-02-28.
  • Each duration box takes a whole number from 0 to 9999. A decimal, a negative sign or stray text returns “Years, months, weeks, days, hours and minutes must be whole numbers from 0 to 9999.” Direction belongs to the Add / Subtract buttons, never to a minus sign you type.
  • The quick chips stack onto whatever the field already holds rather than overwriting it, so pressing + 90 days twice reads as 180 days and three presses of + 1 week read as 3 weeks.

Start

Duration to add

Chips stack onto whatever is already in the field — three presses of + 1 week reads as 3 weeks.

Pick a start date (or press Today), then type how much to add. The result updates as you type.