Skip to content

formatZonedDateTime

formatZonedDateTime(value: string, locale?: string, options?: DateTimeFormatOptions): string
import { formatZonedDateTime } from "@northguild/gmt/zoned/format";

Format a zoned ISO 8601 datetime string using the Intl.DateTimeFormat implementation.

  • Uses Temporal.ZonedDateTime.toLocaleString for formatting.
  • Accepts optional locale and Intl.DateTimeFormatOptions.
  • Returns “” for invalid input.
Parameter Type Description
value string zoned ISO 8601 datetime string
locale string optional locale tag (e.g. “en-US”)

options

Option Type Default
localeMatcher? "best fit" | "lookup"
weekday? "long" | "short" | "narrow"
era? "long" | "short" | "narrow"
year? "numeric" | "2-digit"
month? "long" | "short" | "narrow" | "numeric" | "2-digit"
day? "numeric" | "2-digit"
hour? "numeric" | "2-digit"
minute? "numeric" | "2-digit"
second? "numeric" | "2-digit"
timeZoneName? "long" | "short" | "shortOffset" | "longOffset" | "shortGeneric" | "longGeneric"
formatMatcher? "best fit" | "basic"
hour12? boolean
timeZone? string
calendar? string
dayPeriod? "long" | "short" | "narrow"
numberingSystem? string
dateStyle? "long" | "short" | "medium" | "full"
timeStyle? "long" | "short" | "medium" | "full"
hourCycle? "h11" | "h12" | "h23" | "h24"
fractionalSecondDigits? 1 | 2 | 3

localized string or “” when invalid

formatZonedDateTime("2024-02-29T12:34:56.789+00:00[UTC]", "en-US", { dateStyle: "long", timeStyle: "long" }) // "February 29, 2024 at 12:34:56 PM Coordinated Universal Time"
formatZonedDateTime("2024-02-29T12:34:56.789+00:00[UTC]", "en-GB", { dateStyle: "short", timeStyle: "short" }) // "29/02/2024, 12:34"
formatZonedDateTime("invalid", "en-US") // "" (invalid input)

zoned/format/formatZonedDateTime.ts