Skip to content

Glossary

ISO 8601

Il formato testuale non ambiguo per data e ora

By Published Updated

ISO 8601 è lo standard internazionale per la rappresentazione di date e ore come testo. Pubblicato dalla International Organization for Standardization nel 1988 e rivisto periodicamente da allora. La forma canonica per un timestamp completo è:

YYYY-MM-DDTHH:MM:SSZ

— ad esempio, 2026-05-14T14:30:00Z. La T separa le porzioni di data e ora; la Zindica UTC (Zulu time, nella nomenclatura militare). Per i fusi diversi da UTC, il suffisso è l’offset con segno: +03:00 per Istanbul, -05:00 per US Eastern in inverno.

Perché ISO 8601 ha vinto la guerra dei formati:

  • Non ambiguo.La maggior parte degli altri formati di data collidono. “01/02/2026” significa 2 gennaio negli USA e 1 febbraio quasi ovunque altrove. ISO 8601 ha un solo parsing.
  • Ordinabile come stringa.L’ordine lessicografico equivale all’ordine cronologico. 2026-05-14 si ordina dopo 2026-05-13 con un semplice confronto testuale.
  • Indipendente dalla localizzazione. Indipendente da quale lingua usa il lettore per i nomi dei mesi.
  • L’anno per primo rende l’estrazione triviale. Hai bisogno solo della data da un timestamp? Prendi i primi 10 caratteri.

I linguaggi di programmazione e le API moderne predefiniscono ISO 8601.Date.prototype.toISOString() di JavaScript emette ISO 8601. JSON non ha un tipo di data nativo; ISO 8601 è la convenzione non scritta. PostgreSQL, MySQL, MongoDB e SQLite accettano tutti le stringhe ISO 8601 come input di data.

RFC 3339 è un sottoinsieme più restrittivo di ISO 8601 usato dai protocolli Internet. La differenza è piccola — RFC 3339 richiede il separatore T (ISO 8601 consente uno spazio) e richiede un offset di fuso orario (ISO 8601 consente di ometterlo). Per tutti gli scopi pratici trattali come lo stesso standard.

Formati per numero di settimana e data ordinale — le modalità meno conosciute di ISO 8601:lo standard definisce anche un formato per settimana dell’anno (2026-W21-5significa “venerdì della settimana ISO 21, 2026”) e un formato di data ordinale (2026-141significa “il 141° giorno del 2026”). Le settimane ISO iniziano sempre di lunedì, e la settimana 1 è quella che contiene il primo giovedì dell’anno — il che a volte mette le date di fine dicembre nella settimana 1 dell’anno successivo (es. il 29 dicembre 2025 è nella settimana 2026-W01). La maggior parte del software di calendario rispetta questa convenzione per le viste con numerazione delle settimane; i database con funzioni di data (Postgres EXTRACT(week FROM ...), MySQL WEEK()) espongono modalità per settimane ISO e non ISO — scegliere quella sbagliata è un errore comune nei report.

Parsing permissivo vs. rigoroso — la trappola di JavaScript: new Date("2026-05-14") viene analizzato come mezzanotte UTC (perché le stringhe ISO solo-data sono specificate come UTC). new Date("2026-05-14T00:00:00")senza un fuso orario viene analizzato come mezzanotte locale (la specifica è cambiata in ES2016 — prima era UTC). La stessa stringa può produrre timestamp diversi in browser diversi se i motori non concordano su quale versione della specifica implementano. Includi sempre una Z esplicita o un offset nelle stringhe ISO 8601 memorizzate per evitarlo. Riferimento: ISO 8601:2019 — Rappresentazioni di data e ora, RFC 3339.

Prova il calcolatore

Converti tra stringhe ISO 8601 e valori epoch Unix senza sorprese di fuso orario.

Apri il convertitore di timestamp →

Frequently asked questions

Che cos’è ISO 8601?
ISO 8601 è lo standard internazionale per la rappresentazione di date e ore come testo. Specifica formati come 2026-05-31 per le date e 2026-05-31T14:30:00Z per i timestamp, progettati per essere non ambigui tra le localizzazioni e ordinabili lessicograficamente.
Perché usare ISO 8601 invece di formati specifici per localizzazione?
Formati come 01/02/03 sono interpretati in modo diverso dai lettori statunitensi, europei e asiatici. L’ordine anno-primo di ISO 8601 è globalmente non ambiguo e si ordina correttamente come testo normale, rendendolo ideale per API, database e file di log.
Cosa significa il suffisso Z in un datetime ISO 8601?
Z sta per Zulu time, ovvero UTC+0. Un datetime che termina con Z (es. 2026-05-31T14:30:00Z) è espresso in Coordinated Universal Time senza offset. Al posto di Z può comparire un offset come +05:30 per indicare un fuso locale.
ISO 8601 è uguale a RFC 3339?
Quasi — RFC 3339 è un profilo più restrittivo di ISO 8601 usato nei protocolli internet. RFC 3339 richiede sempre un offset di fuso orario e non ammette alcune funzionalità opzionali di ISO 8601 come le date di settimana, rendendolo la scelta più sicura per i campi datetime nelle API.

Related

Published May 14, 2026 · Last reviewed May 31, 2026