Quelle est la différence entre les formats de date ISO 8601 et RFC 3339?

ISO 8601 et RFC 3339 semblent être deux formats communs au Web. Devrais-je utiliser l’un sur l’autre? Est-ce que c’est juste une extension? Ai-je vraiment besoin de me soucier de ça?

Est-ce que c’est juste une extension?

En gros, oui – la RFC 3339 est répertoriée comme profil ISO 8601. Plus particulièrement, la RFC 3339 exige une représentation complète de la date et de l’heure (seules les secondes fractionnaires sont facultatives). La RFC a également quelques petites différences subtiles. Par exemple, les représentations tronquées d’années avec seulement deux chiffres ne sont pas autorisées – la RFC 3339 requirejs des années à 4 chiffres, et la RFC autorise uniquement l’utilisation d’un caractère de période comme point décimal pour les secondes fractionnaires. La RFC permet également de remplacer le “T” par un espace (ou un autre caractère), tandis que la norme ne permet que son omission (et uniquement s’il existe un accord entre toutes les parties utilisant la représentation).

Je ne m’inquiéterais pas trop des différences entre les deux, mais au cas où votre cas d’utilisation les atteindrait, cela vaut la peine de jeter un coup d’œil à:

  • RFC 3339
  • Entrée Wikipedia sur ISO 8601

La RFC 3339 est principalement un profil de la norme ISO 8601, mais est en réalité incompatible avec cette spécification en empruntant la spécification de fuseau horaire “-00: 00” de la RFC 2822. Ceci est décrit dans l’article de Wikipedia.

Vous ne devriez pas avoir à vous soucier autant. La RFC 3339, selon elle, est un ensemble de normes dérivées de la norme ISO 8601. Il y a cependant quelques différences de quelques minutes, et elles sont toutes décrites dans la RFC 3339. Je pourrais les parcourir toutes ici, mais vous feriez probablement mieux Il suffit de lire le document pour vous-même si vous êtes inquiet:

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