Skip to content

toISO8601

Converts a date to ISO 8601 format Format: YYYY-MM-DDTHH:mm:ss.sssZ

Available since v2.0.0

import { toISO8601 } from '@helpers4/date';
toISO8601(date: DateLike): string | null
ParameterTypeDescription
dateDateLikeDate to convert (Date object, timestamp, or date string)

string | null — ISO 8601 formatted string or null if invalid date

Formats a date as an ISO 8601 string.

toISO8601(new Date('2025-01-19T12:30:00Z'))
// => '2025-01-19T12:30:00.000Z'

RFC 3339 format strips milliseconds by default.

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

RFC 2822 is used in email and HTTP headers.

toRFC2822(new Date('2025-01-19T12:30:00Z'))
// => 'Sun, 19 Jan 2025 12:30:00 +0000'

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