Skip to content

Date math, with the steps.

Write a date in your own words. See where it lands and how it gets there.

Loading the date tools…

Try a phrase

Pick an example, or write your own.

Date math
Named dates
Schedules
Browse examples

Expressions that add or subtract time from another date.

Change timezone or format

Words like “today” and “at noon” are calculated in this timezone.

Preferences saved in this browser.
Developer tools

Inspect the captured result or compare it with the API.

Integration guide

Sent to this site's server

Compare with the API

Compare the captured input below with the server. A request runs only when you choose Check API result.

Enter a phrase above to build a request.

Sends this expression, timezone, reference time and date format to Cloudflare. Avoid private information. Privacy details

API reference

GET /api/parse

Returns the date and calculation steps as JSON. No API key needed.

expressionRequired
The phrase to calculate. Up to 200 characters.
timezoneOptional
An IANA timezone, such as America/Chicago. Defaults to UTC.
referenceOptional
A starting instant with an offset, such as 2026-01-26T19:30:00Z. Defaults to the request time; reuse it to reproduce a result.
formatOptional
A date-fns display format, such as yyyy-MM-dd. Does not change the calculation.

Calendar rules

  • Changes run in written order. Whole months and years clamp to the last valid day at each step.
  • Whole days and weeks follow the local calendar. Their fractional parts use elapsed time.
  • Fractional years become whole months first. Any remaining month or year fraction uses a labelled day approximation.

Limits and errors

About 120 requests per minute per IP at each Cloudflare location. HTTP 429 means wait a minute; HTTP 503 means try again shortly.

Invalid, unknown, or repeated parameters return HTTP 400. URLs over 4,096 characters return HTTP 414. Responses are not cached.

Engine v2 removed preserveDayOfMonth. Omit it from requests.