web-dev-qa-db-ja.com

ISO 8601とRFC 3339の日付形式の違いは何ですか?

ISO 8601 および RFC 3339 は、Webで一般的な2つの形式のようです。どちらか一方を使用する必要がありますか? 1つは単なる拡張機能ですか?私は本当に悪いことを気にする必要がありますか?

232
Brig Lamoreaux

1つは単なる拡張機能ですか?

ほとんど、はい-RFC 3339はISO 8601のプロファイルとしてリストされています。最も注目すべきは、RFC 3339が日付と時刻の完全な表現を指定していることです(秒の小数部のみ)オプションです)。 RFCには、いくつかの小さな微妙な違いもあります。たとえば、2桁のみの年の切り捨て表現は許可されません-RFC 3339では4桁の年が必要であり、RFCでは小数秒の小数点としてピリオド文字のみを使用できます。また、RFCでは「T」をスペース(または他の文字)に置き換えることができますが、標準では省略することができます(表現を使用するすべての当事者間で合意がある場合のみ)。

この2つの違いについてはあまり心配しませんが、偶然にユースケースが発生した場合は、以下を一目見ながら価値があります。

197
ConroyP

RFC 3339は、ほとんどがISO 8601のプロファイルですが、RFC 2822から「-00:00」タイムゾーン仕様を借用する点で実際には矛盾しています。これについては、Wikipediaの記事で説明されています。

17
Zefram

そんなに気にする必要はないはずです。 RFC 3339は、それ自体によれば、ISO 8601から派生した一連の標準です。ただし、かなりの数分の違いがあり、それらはすべてRFC 3339で概説されています。あなたが心配している場合に自分で文書を読むだけです:

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

2
David Morton