web-dev-qa-db-fra.com

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 juste une extension? Ai-je vraiment besoin de m'inquiéter si mal?

232
Brig Lamoreaux

Est-ce juste une extension?

En gros, la RFC 3339 est répertoriée comme un profil de l’ISO 8601. Plus particulièrement, la RFC 3339 spécifie une représentation complète de la date et de l’heure (seules des fractions de seconde sont facultatives). Le 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 requiert des années à 4 chiffres et la RFC autorise uniquement l'utilisation d'un caractère de période comme point décimal pour des fractions de secondes. La RFC permet également de remplacer le "T" par un espace (ou un autre caractère), alors que la norme ne permet que de l'omettre (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 leur arriverait, cela vaudrait la peine que vous jetiez un coup d'œil sur:

197
ConroyP

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

17
Zefram

Vous ne devriez pas avoir à vous en soucier autant. Selon la RFC 3339, il s'agit d'un ensemble de normes dérivées de l'ISO 8601. Il existe toutefois quelques différences minimes, qui sont toutes décrites dans la RFC 3339. Je pourrais toutes les passer en revue ici, mais vous feriez probablement mieux. lisez simplement le document pour vous au cas où vous seriez inquiet:

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

2
David Morton