formatRfc3339
Signature
Section titled “Signature”formatRfc3339(value: string): stringimport { formatRfc3339 } from "@northguild/gmt/zoned/format";Format a zoned ISO 8601 datetime string as strict RFC 3339 — the ISO 8601
- profile RFC 3339 §5.6 defines, permitting only an explicit numeric offset or
Z, never a bracketed IANA zone name. - Not a passthrough. GMT’s own zoned strings always carry a bracketed IANA zone annotation (e.g.
...+00:00[UTC]) that plainTemporal.ZonedDateTime.prototype.toString()reproduces by default — that annotation is not valid RFC 3339. This function’s only job is to strip it ({ timeZoneName: "never" }), which is exactly the detail a caller reaching for “give me RFC 3339” would otherwise miss. (Go/no-go recorded in roadmapissues/J.mdJ13: this narrow gap is real; a parallelutc/unixwrapper was not added, becauseTemporal.Instant.prototype.toString()is already fully RFC 3339 compliant with no bracket to strip — that would be a pure passthrough.)
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
value |
string |
zoned ISO 8601 datetime string (e.g. “2024-03-15T14:30:00-04:00[America/New_York]”) |
Returns
Section titled “Returns”RFC 3339 datetime string, or “” on invalid input
Examples
Section titled “Examples”formatRfc3339("2024-03-15T14:30:00-04:00[America/New_York]") // "2024-03-15T14:30:00-04:00"formatRfc3339("2024-03-15T14:30:00Z[UTC]") // "2024-03-15T14:30:00+00:00"formatRfc3339("invalid") // ""