Skip to content

toRFC3339

Converts a date to RFC 3339 format Format: YYYY-MM-DDTHH:mm:ssZ or YYYY-MM-DDTHH:mm:ss+HH:mm RFC 3339 is a profile of ISO 8601, but without milliseconds by default

Available since v2.0.0

import { toRFC3339 } from '@helpers4/date';
toRFC3339(date: DateLike, includeMilliseconds: boolean): string | null
ParameterTypeDescription
dateDateLikeDate to convert (Date object, timestamp, or date string)
includeMillisecondsbooleanWhether to include milliseconds (default: false)

string | null — RFC 3339 formatted string or null if invalid date

toRFC3339(new Date('2025-01-19T12:30:45.123Z')) // '2025-01-19T12:30:45Z'
toRFC3339(new Date('2025-01-19T12:30:45.123Z'), true) // '2025-01-19T12:30:45.123Z'

A value that can be converted to a Date.

  • Date — used as-is (validated for Invalid Date)
  • number — treated as a timestamp (seconds or milliseconds, auto-detected); 0 is treated as invalid and produces null in ensureDate
  • string — parsed via new Date(string)
  • Temporal.Instant | Temporal.ZonedDateTime — read via their epochMilliseconds property
type DateLike = Date | number | string | Temporal.Instant | Temporal.ZonedDateTime

View source on GitHub