* BNF [PRE[ date-time = full-date "T" full-time ]PRE] [PRE[ full-date = date-fullyear "-" date-month "-" date-mday full-time = partial-time time-offset ]PRE] [PRE[ date-fullyear = 4DIGIT date-month = 2DIGIT ; 01-12 date-mday = 2DIGIT ; 01-28, 01-29, 01-30, 01-31 based on month/year time-hour = 2DIGIT ; 00-23 time-minute = 2DIGIT ; 00-59 time-second = 2DIGIT ; 00-59, 00-60 based on leap second rules time-secfrac = "." 1*DIGIT time-numoffset = ("+" / "-") time-hour ":" time-minute time-offset = "Z" / time-numoffset ]PRE] [PRE[ partial-time = time-hour ":" time-minute ":" time-second [time-secfrac] ]PRE] * 関連 [7] RFC 3339 の日付・時刻形式は、 [[ISO 8601の日付形式]]の[[部分集合]]です。 [8] [[RFC 2518]] 23.2 附属書2 にも簡単な説明があります。 これは Chris Newman の Internet Draft から採ったものとされていますが、 この draft の最終的に RFC になったものが RFC 3339 です。 [6] この形式を採用した規格には、 [[WebDAV]]、 [[IETF]] [[CPIM]] などがあります。 [9] [[HTMLの日付形式]] ([[大域日時]]) と似ていますが、 [[HTML]] では [[T]] や [[Z]] に[[大文字]]を使わなければなりませんし、 [[HTML]] は[[閏秒]]にも対応していません。 * 注釈 - [1] この日付形式は[[2000年問題]]には対応していますが,[[10000年問題]]には対応出来ません。実装は [CODE(ABNF)[full-year = 4*DIGIT]] と読み替えるのが良いでしょう。但しこの場合固定長であるという特徴が失われるので注意する必要ウがあります。 - [2] なお、西暦1年〜999年を表す時には0を補わなければならないことに注意が必要です。 (但しそれ以前に[[暦]]が違うことにもっと注意が必要です。) - [3] [[RFC2518]] (WebDAV) 規定時には RFC 3339 がまだ [[I-D]] だったので、 2518 23.2 (附属書2) で 3339 と同じものを規定しています。 [[#comment]] [4] この[[日付形式]]は[[時間帯]]を記述することが可能です。 [[受信者]]は、[[時間帯]]から[[送信者]]のおおよその位置を推定できます (精度は余り高くないと考えられますが)。 これが便利なこともあれば、情報の漏洩といえることもあります。 そのような場合には、 [CODE[[[-00:00]]]] ([[時間帯]]不明) としてもよいと [[RFC 3341]] は述べています。 ([[名無しさん]]) [5] [[RFC 4646]] は、 [[IANA]] 登録簿の[[日付形式]]として [[RFC 3339]] の [CODE(ABNF)@en[[[full-date]]]] を採用しています。 ([[名無しさん]]) [10] [CITE@en[Web Applications 1.0 r5474 disallow -00:00 in a global date and time stringFixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10370]] ( ([TIME[2010-09-24 09:55:00 +09:00]] 版)) [11] [CITE[Common Alerting Protocol]] ( ([TIME[2010-07-02 01:02:47 +09:00]] 版)) [12] [CITE@en[RFC 6021 - Common YANG Data Types]] ([TIME[2010-10-07 04:53:03 +09:00]] 版)