What this tool does
Date calculator handles three things: shift a date by some amount (years, months, days or weeks), count the days between two dates, or find the weekday of a date. Scheduling, countdowns, birthdays and billing cycles all fit.
It is a cousin of the timestamp converter, but this tool only looks at calendar days — no second-level timestamps and no timezone math. Everything runs locally in your browser; the date is never uploaded.
How to use
- Pick a mode Choose one of four modes below: Add, Subtract, Difference or Weekday.
- Type the expression For add/subtract type “date +/- Nunit” (e.g. 2026-09-20 + 100d); for difference “dateA ~ dateB”; for weekday just the date. Both YYYY-MM-DD and YYYY/MM/DD work.
- View or download The result shows as plain text. Copy it or download a date-result-*.txt file.
FAQ
Does “add a month” mean 30 days?
No. It shifts whole months, not 30 days — e.g. Mar 15 minus one month is Feb 15; Jan 31 plus one month collapses to Feb 28/29.
Does the difference account for timezones?
No. The difference is the rounded UTC day gap, looking only at calendar days, independent of your timezone.
Which date formats are supported?
Both YYYY-MM-DD and YYYY/MM/DD work; an ISO string with time keeps its date part.
Can it do lunar dates or holidays?
No. Lunar dates, solar terms and holidays need extra calendar data and are a later enhancement, out of scope here.
Can it skip weekends for business days?
No. This tool only does calendar-day math; “Nth business day” style counts are a later enhancement.
Is my date uploaded?
No. Computation happens entirely on your device; the date never leaves the browser.
Limits
Up to 1MB per file; input is a single date or expression. Year/month/day/week units are supported; lunar, holidays, business days and timezone are not covered yet. Month math collapses to a valid date via “whole months” semantics.
Dates far outside JS Date’s 1970–275760 range cannot be parsed and will report “unrecognised date”.