Month arithmetic is a calendar operation, not a seconds conversion
Adding one month to January 15 has an obvious destination in February, but January 31 has no same-numbered date in most Februaries. This implementation declares a constrained rule: after a year or month step, an invalid day is moved to the last valid date in the destination month. Thus the result is reproducible, but it is still a chosen calendar convention rather than a physical duration shared by every month.
Day-count mode is different. It maps the starting date onto the Gregorian ordinal sequence and advances the requested number of midnight boundaries. That route naturally includes February 29 when present and does not ask how many months the span resembles. If the intended destination is an event at a particular UTC second rather than a date label, use the day countdown calculator after the target instant has been established.
Follow the calculator's operation order before checking the destination
A hand calculation should mirror the published sequence because applying the same components in another order can cross a different month boundary.
- Confirm the starting label
Read the date in year-month-day order and verify that it exists in the Gregorian calendar. Preserve the source value before making any adjustment.
- Choose addition or subtraction
Treat direction as an explicit control. Negative values hidden inside fields are harder to review than a named add or subtract operation with non-negative components.
- Apply years before months
Move the year component, constraining a leap-day destination when necessary, and then move the month component with the same last-valid-date policy.
- Apply the day component last
Advance exact calendar dates only after the year and month destination is settled. Compare the final ISO label with the written schedule before publishing it.
Route similar scheduling requests by the rule that controls them
Civil calendar recurrence
Use calendar parts for a date described as one year later, three months earlier, or another anniversary-style movement. Inspect the declared February 29 and month-end behavior.
Operational deadline
Use the business day calculator when Saturdays, Sundays, federal holidays, or organization-specific closures do not count. Adding seven calendar days is not the same promise as adding seven workdays.
Chronological anniversary
Use the age calculator when a birth date and as-of date determine completed age. It evaluates the whole chronology instead of constructing a target and inferring age afterward.
Clock-bearing date-time
Use the time and date duration calculator when hours, minutes, and seconds must be added or compared. This date page supplies no time zone and no daylight-saving interpretation.
Month-end examples reveal the selected policy
Test a boundary before applying the same workflow to a long schedule or a repeated series.
- January 31 plus one calendar month constrains to the last valid February date; it is not defined here as thirty-one elapsed days.
- February 29 plus one calendar year constrains to February 28 in a common year under this implementation's published rule.
- A day-count movement across a spring daylight-saving change still advances date labels without losing or adding a date, because no local clock time is part of the input.
- Repeated monthly schedules should be generated from a clearly chosen anchor policy. Feeding each constrained result into the next calculation can drift away from an intended original day-of-month anchor.
A computed date does not interpret a contract's extension clause
Legal, financial, medical, subscription, and service rules may define month, year, notice, receipt, grace period, or next-business-day treatment in their own terms. Some measure from the day after an event; some include the final date; some move a deadline that lands on a closure. Read the controlling language and use the tool whose declared operation matches it rather than choosing a convenient result after calculation.
For an ordinary project note, retain the starting date, direction, selected mode, ordered components, overflow convention, and final date. That record explains why a month-end answer differs from an elapsed-day estimate and lets another person rerun the result. The calculator performs deterministic Gregorian arithmetic; it does not select the governing schedule or certify that a deadline is timely.