Skip to content

formatRelativeDate

Playground

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

Format the relative time between a plain date and a reference date.

  • Auto-picks the display unit (day/week/month/year) based on the distance, unless largestUnit forces one.
  • roundingMethod controls how the distance rounds to the display unit.
Parameter Type Description
value string ISO date string to format
locale string optional: BCP 47 locale tag

options

Option Type Default
style? "long" | "short" | "narrow"
numeric? "always" | "auto"
largestUnit? RelativeUnit
roundingMethod? RelativeRoundingMethod
reference? string

the formatted relative-time string, or “” on invalid input

formatRelativeDate("2026-01-15", "en-US", { reference: "2026-04-15" }) // "3 months ago"
formatRelativeDate(value, "en-US", { roundingMethod: "floor" }) // rounds toward the earlier boundary
formatRelativeDate("not-a-date") // ""

plain/format/formatRelativeDate.ts