~/lxcidfollow

← tools/

Temporal Expression Playground

Interactive playground for parsing ISO 8601, RFC 3339, and IXDTF temporal expressions. Visualize the anatomy of temporal strings through color-coded lexer tokens and explore the structured AST output. Powered by @taskade/temporal-parser.

Read the announcement →

Try these examples:

About Temporal Parser

The @taskade/temporal-parser library parses ISO 8601, RFC 3339, and IXDTF temporal expressions into structured AST (Abstract Syntax Tree) format.

This parser supports a wide range of temporal formats including:

  • Dates: 2025-01-12
  • Times: T10:30:45
  • Timezones: +08:00, [Asia/Singapore]
  • Durations: P1Y2M3DT4H5M6S
  • Ranges: 2025-01-01/2025-12-31
  • IXDTF Annotations: [u-ca=gregory]

Learn more: GitHub Repository · NPM Package

Standards reference

How ISO 8601, RFC 3339 and IXDTF fit together

ISO 8601 specifies interoperable representations for Gregorian dates and 24-hour times. RFC 3339 selects a narrower timestamp profile for Internet protocols. RFC 9557 extends RFC 3339 with optional bracketed suffixes, including time-zone and calendar information; it names that format IXDTF.

Verified parser examples

Each result below is generated at build time by @taskade/temporal-parser 1.1.0, then reduced to the AST fields that matter for the example.

FormatCopy-paste inputObserved AST fields
RFC 3339 UTC timestamp2025-01-12T10:00:00Zkind=DateTime; offset.kind=UtcOffset
RFC 9557 / IXDTF time zone and calendar1996-12-19T16:39:57-08:00[America/Los_Angeles][u-ca=hebrew]kind=DateTime; offset=-08:00; timeZone=America/Los_Angeles; u-ca=hebrew
ISO 8601 durationP1Y2M3DT4H5M6Skind=Duration; years=1; months=2; days=3; hours=4; minutes=5; seconds=6
ISO 8601 interval2025-01-01/2025-12-31kind=Range; start=2025-01-01; end=2025-12-31

What this parser does—and does not do

The library lexes supported strings and returns a structural AST. Unsupported grammar throws a parse error; a successful parse does not by itself prove that a value is valid for every downstream use.

  • Version 1.1.0 implements a useful subset of the named standards. These accepted examples are not a claim of full conformance to every ISO 8601, RFC 3339, or RFC 9557 syntax and rule.
  • The AST preserves a numeric offset, time-zone identifier, and suffix annotations, but the parser does not verify that the identifier exists in IANA data, resolve its time-zone rules, or check that the offset agrees with the named zone.
  • Date and time field ranges are not validated. For example, 2025-13-40 currently produces a DateTime AST with month 13 and day 40. Validate parsed fields before treating them as a real date.

Primary references

Standards terminology and parser behavior verified against package version 1.1.0 on 14 July 2026.