В чем разница между форматами даты ISO 8601 и RFC 3339? - PullRequest
223 голосов
/ 07 февраля 2009

ISO 8601 и RFC 3339 , кажется, являются двумя распространенными форматами в Интернете. Должен ли я использовать один над другим? Это просто расширение? Мне действительно нужно заботиться так плохо?

Ответы [ 4 ]

189 голосов
/ 07 февраля 2009

Это просто расширение?

В значительной степени, да - RFC 3339 указан в качестве профиля ISO 8601. В частности, RFC 3339 определяет полное представление даты и времени (только дробные секунды необязательны). RFC также имеет некоторые небольшие, тонкие различия. Например, усеченные представления лет только с двумя цифрами недопустимы - RFC 3339 требует 4-значных лет, а RFC разрешает использовать символ точки только в качестве десятичной точки в течение доли секунды. RFC также позволяет заменять букву «Т» пробелом (или другим символом), в то время как стандарт допускает его только опускание (и только при наличии согласия между всеми сторонами, использующими представление).

Я бы не слишком беспокоился о различиях между этими двумя понятиями, но в случае непредвиденного случая, когда ваш вариант использования столкнулся с ними, стоило бы взглянуть на:

17 голосов
/ 11 марта 2013

RFC 3339 - это в основном профиль ISO 8601, но на самом деле он не соответствует заимствованию спецификации часового пояса "-00: 00" из RFC 2822. Это описано в статье Википедии.

2 голосов
/ 07 февраля 2009

Тебе не нужно заботиться так сильно. RFC 3339, как он сам по себе, представляет собой набор стандартов, основанных на ISO 8601. Хотя есть немало различий, и все они изложены в RFC 3339. Я мог бы просмотреть их все здесь, но вы, вероятно, лучше просто прочитайте документ для себя, если вы беспокоитесь:

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

0 голосов
/ 04 октября 2018

'2018-03T13: 24: 59,321T' <- Действительный ISO 8601 </p>

'2018-03T13: 24: 59,321T' <- Неверный ISO 3339 </p>

Есть хотя бы одно отличие

...