ISO 8601 Date Format Explained

ISO 8601 is the international standard for writing dates and times as text. It's the format behind 2026-06-11T14:30:00Z, and it's the one you should default to whenever a date is stored or sent between systems.

Anatomy of an ISO 8601 timestamp

2026-06-11T14:30:00Z
└──┬───┘ └──┬───┘ │
  date     time  timezone
  • Date: YYYY-MM-DD — year, month, day, biggest unit first.
  • T: a literal separator between date and time.
  • Time: HH:MM:SS in 24-hour clock, optionally with fractional seconds (.123).
  • Timezone: Z means UTC ("Zulu"). An offset like +05:30 or -08:00 means that many hours from UTC.

So 2026-06-11T14:30:00+05:30 and 2026-06-11T09:00:00Z are the same instant.

Why it's the right default

  • It sorts correctly as plain text. Because it goes big-to-small, alphabetical order equals chronological order — great for filenames and database keys.
  • It's unambiguous. 01/06/2026 is January 6 in the US and June 1 in Europe. 2026-06-11 is the same everywhere.
  • It's machine-readable. new Date("2026-06-11T14:30:00Z") parses reliably in JavaScript; Date.prototype.toISOString() produces it.

Date-only and other forms

2026-06-11 (date only) and 2026-06 (year-month) are valid ISO 8601 too. There's even week notation (2026-W24-4) and durations (P1Y2M10D), though you'll rarely need those.

ISO 8601 vs Unix time

ISO 8601 is human-readable; a Unix timestamp is a single integer of seconds since 1970. Use ISO 8601 in logs and APIs where people read the value; use Unix time for compact storage and arithmetic. Watch the seconds-vs-milliseconds gotcha when converting.

Convert and check

Use the timestamp converter to turn an ISO 8601 string into a Unix timestamp (and back), and to see the same instant across UTC and local time.

Got a config file to check?

Open the config toolkit →