Skip to content

formatDateTime

Playground

call
result 
formatDateTime(value: string, locale?: string, options?: DateTimeFormatOptions): string
import { formatDateTime } from "@northguild/gmt/plain/format";

Return a localized string for a PlainDateTime ISO input using Intl options.

  • Uses Temporal.PlainDateTime.toLocaleString for formatting.
  • Accepts optional BCP 47 locale and Intl.DateTimeFormatOptions.
  • Returns “” for invalid input.
Parameter Type Description
value string ISO PlainDateTime string
locale string optional BCP 47 locale identifier

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 date-time string or “” on invalid input

formatDateTime("2024-03-15T14:30:00", "en-US", { dateStyle: "medium", timeStyle: "short" }) // "Mar 15, 2024 at 2:30 PM"
formatDateTime("2024-03-15T14:30:00", "de-DE", { dateStyle: "medium", timeStyle: "short" }) // "15.03.2024, 14:30"
formatDateTime("invalid") // ""

plain/format/formatDateTime.ts