Temporal Playground

Explore date math, time zones, and DST edge cases with the Temporal API in your browser.

Input

Related tools

What it does

Runs a date or date-time through the Temporal API and shows what it actually means: the Temporal type it parsed into, the exact instant, epoch seconds and milliseconds, the UTC offset, and whether that offset is standard time or daylight saving time. It flags the two DST traps directly, a spring-forward wall-clock time that never happens and a fall-back time that happens twice, and it names the next offset change in the zone. Add an ISO 8601 duration to see calendar-aware math, including the offset the result lands on. Calendar facts come along too: day of week, day of year, ISO week, days in month, and leap year.

How to use it

Paste an ISO 8601 value: a date like 2026-03-08, a wall-clock time like 2026-03-08T01:30, an instant like 2026-03-08T12:00:00Z, or a fully zoned string like 2026-03-07T12:00[America/New_York]. Pick the time zone that a bare wall-clock time should be read in. To do date math, type a duration such as P1D, PT90M, or P1M2DT3H in the "Add duration" field. Every row has its own copy button, and the URL updates so you can share the exact case you are looking at.

Why this one

This is a curated evaluator, not a code sandbox, so there is nothing to install and nothing to run. Your inputs never leave your device, there is no sign-in, no rate limit, and no ad reading over your shoulder while you debug a scheduling bug. Compared with poking at JavaScript Date in a console, you get the DST answer stated in words rather than inferred from a suspicious offset, and compared with the docs playgrounds you get a permanent URL for the exact edge case you want to send to a teammate.

FAQ
What is Temporal?
Temporal is the modern date and time API for JavaScript, built to replace Date. It separates the concepts Date blurs together: a PlainDate has no time, a PlainDateTime is a wall-clock reading with no zone, an Instant is a fixed point on the timeline, and a ZonedDateTime is a wall-clock reading anchored to an IANA time zone. That separation is why it can answer DST questions honestly instead of guessing.
Why does adding a day change the time?
It does not change the wall-clock time, it changes the offset. Adding P1D to 2026-03-07T12:00 in America/New_York gives 2026-03-08T12:00, still noon, but the zone moved from -05:00 to -04:00 at 2:00 that morning, so only 23 real hours passed. If you wanted exactly 24 hours, add PT24H instead. This tool prints both the new wall time and the new offset so the difference is visible.
Is Temporal in browsers yet?
Support is arriving but is not universal, so this page runs the official Temporal polyfill locally in your browser. The results match the specified behavior, including the IANA time zone data your device already ships, and nothing is sent to a server to compute them.

Keyboard shortcuts: press ? anywhere on this page to see them.