Qual è la differenza tra i formati di data ISO 8601 e RFC 3339?

ISO 8601 e RFC 3339 sembrano essere due formati comuni al web. Dovrei usare l’uno sull’altro? È solo un’estensione? Ho davvero bisogno di preoccuparmi di così male?

È solo un’estensione?

Praticamente, sì – l’RFC 3339 è elencato come un profilo ISO 8601. In particolare, l’RFC 3339 richiede una rappresentazione completa di data e ora (solo i secondi frazionari sono opzionali). La RFC ha anche alcune piccole, sottili differenze. Ad esempio, le rappresentazioni troncate di anni con solo due cifre non sono consentite – l’RFC 3339 richiede anni a 4 cifre e l’RFC consente solo un carattere di periodo da utilizzare come punto decimale per i secondi frazionari. L’RFC consente anche di sostituire la “T” con uno spazio (o altro carattere), mentre lo standard consente solo di ometterlo (e solo quando vi è accordo tra tutte le parti che usano la rappresentazione).

Non mi preoccuperei troppo delle differenze tra i due, ma nel caso in cui il tuo caso d’uso ricada su di loro, varrebbe la pena dare un’occhiata a:

  • RFC 3339
  • Voce di Wikipedia su ISO 8601

RFC 3339 è principalmente un profilo ISO 8601, ma in realtà non è coerente con esso nel prendere in prestito le specifiche del fuso orario “-00: 00” da RFC 2822. Questo è descritto nell’articolo di Wikipedia.

Non dovresti aver cura di tanto. La RFC 3339, secondo se stessa, è un insieme di norme derivate dalla ISO 8601. Ci sono tuttavia alcune differenze minuscole, e sono tutte delineate nella RFC 3339. Potrei esaminarle tutte qui, ma probabilmente fareste meglio basta leggere il documento per te nel caso tu sia preoccupato:

http://www.ietf.org/rfc/rfc3339.txt