User Rating 0.0 โ˜…โ˜…โ˜…โ˜…โ˜…
Total Usage 0 times
Category Time & Date
Presets:
Is this tool helpful?

Your feedback helps us improve.

โ˜… โ˜… โ˜… โ˜… โ˜…

About

Manually computing a date offset of 90 days from a given start date invites silent errors: forgotten leap years, month-boundary overflows (January 31 plus one month is not March 3), and off-by-one mistakes that cascade into missed deadlines or contract breaches. This tool performs calendar-aware arithmetic on the Proleptic Gregorian Calendar, correctly handling the leap year rule (y divisible by 4, except centuries not divisible by 400) and month-length clamping. It operates on days, weeks, months, and years as independent units, outputting the resulting date, day of week, ISO week number, and Julian Day Number. Limitation: it assumes the Proleptic Gregorian Calendar for all dates and does not account for historical calendar reforms or timezone transitions.

date calculator add days to date date incrementer future date subtract days date arithmetic calendar calculator

Formulas

The leap year predicate for year y:

{
TRUE if y mod 400 = 0FALSE if y mod 100 = 0TRUE if y mod 4 = 0FALSE otherwise

Month-year increment with day clamping: given start date (y, m, d) and increment n months:

mnew = ((m โˆ’ 1 + n) mod 12) + 1
ynew = y + floor((m โˆ’ 1 + n) รท 12)
dnew = min(d, daysInMonth(ynew, mnew))

ISO 8601 week number calculation uses the Thursday-based rule: the week containing January 4 is always week 1.

Julian Day Number from Gregorian date (y, m, d):

JDN = 367y โˆ’ floor(7(y + floor((m + 9) รท 12)) รท 4) + floor(275m รท 9) + d + 1721013.5

Where y = year, m = month (1 - 12), d = day of month, n = increment value (positive or negative integer).

Reference Data

MonthDays (Common Year)Days (Leap Year)Cumulative Days (Common)Cumulative Days (Leap)Quarter
January31313131Q1
February28295960Q1
March31319091Q1
April3030120121Q2
May3131151152Q2
June3030181182Q2
July3131212213Q3
August3131243244Q3
September3030273274Q3
October3131304305Q4
November3030334335Q4
December3131365366Q4

Frequently Asked Questions

The tool uses month-clamping arithmetic, not raw day addition. When incrementing by months, the day component is clamped to the last valid day of the target month. January 31 plus 1 month targets February, which has at most 28 or 29 days. The result is February 28 (or 29 in a leap year). This matches the ISO 8601 convention and avoids silently jumping into the next month.
Negative values work symmetrically. Subtracting 45 days from January 10, 2025 correctly rolls back into November 2024, accounting for December having 31 days and November having 30. Month and year decrements apply the same clamping rule in reverse: March 31 minus 1 month yields February 28 or 29.
Yes. In this tool, adding n weeks is strictly equivalent to adding 7n days. There is no ambiguity because weeks are defined as exactly 7 calendar days. This differs from month increments where the actual number of days varies.
The tool operates on the Proleptic Gregorian Calendar for years 1 through 9999. Results that fall outside this range are rejected with an error. Note that historical dates before October 15, 1582 (Gregorian adoption) may not correspond to dates actually used at that time, since the Julian Calendar was in effect.
ISO 8601 defines week 1 as the week containing the first Thursday of the year. This means January 1 can belong to week 52 or 53 of the previous year, and December 29 - 31 can belong to week 1 of the next year. The tool displays both the ISO week number and the ISO week-year to avoid confusion.
The Julian Day Number (JDN) is a continuous count of days since the beginning of the Julian Period on January 1, 4713 BC (proleptic Julian calendar). It is used in astronomy, chronology, and software engineering to simplify date difference calculations. Two dates' JDN difference equals the exact number of elapsed days between them.