parseRfc3339
Signature
Section titled “Signature”parseRfc3339(value: string): stringimport { parseRfc3339 } from "@northguild/gmt/zoned/parse";Parse a strict RFC 3339 datetime string into a zoned ISO 8601 datetime
- string.
- Accepts
T,t, or a single space as the date/time separator (all three are valid RFC 3339, unlike GMT’s own zoned strings which always useT) and eitherZ/zor a numeric±HH:MMoffset. - RFC 3339 carries no IANA zone name, so the parsed offset becomes the result’s time zone identifier too (e.g.
Z→+00:00[+00:00]) — the same fixed-offset-as-zone conventionparseRfc2822uses. - Rejects GMT’s own bracketed zoned strings (
...+00:00[UTC]) — that annotation is not valid RFC 3339 input; useTemporal.ZonedDateTime.from/isValidZonedDateTimedirectly for GMT’s native format instead.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
value |
string |
RFC 3339 datetime string (e.g. “2024-03-15T14:30:00-04:00”) |
Returns
Section titled “Returns”zoned ISO 8601 datetime string, or “” on invalid input
Examples
Section titled “Examples”parseRfc3339("2024-03-15T14:30:00-04:00") // "2024-03-15T14:30:00-04:00[-04:00]"parseRfc3339("2024-03-15T14:30:00Z") // "2024-03-15T14:30:00+00:00[+00:00]"parseRfc3339("2024-03-15T14:30:00+00:00[UTC]") // "" (bracket annotation not valid RFC 3339)parseRfc3339("not a date") // ""