[1] 俗に W3C-DTF と呼ばれる日付形式は、 に W3C の会員企業である Reuters Limited が W3C に提出した ISO 8601の日付形式のプロファイルです。
[3] ISO 8601 は、様々な応用を考慮して、 割と自由な日付と時刻の表現形式を規定しています。 このプロファイルでは、それを Web で使うにあたって無駄な自由度をなくしており、機械処理が比較的 (あくまで比較的、元の ISO 8601 と比べれば。) 容易になっています。
[4] 必要な精度 (日まで、秒までなど) で6種類の書式が定義されています。
[27] 既に W3C-DTF を用いることと決められている場合を除き、 日時を W3C-DTF によって表現するべきではありません。
[31] W3C-DTF の仕様書は、手続き上は廃止されていません (W3C Note なので「現行」も「廃止」も無いのかも?)。 しかし、現代の基準では標準規格として十分な品質を有しておらず、 十数年間誰にもメンテナンスされず放置されており、 XML Schema や HTML5 をはじめとした新しい世代の仕様からも参照されていません。 従って、実質的には失効しているとみなすべきでしょう。
[28] HTML その他 Web 上では、一般に
HTMLの日時形式のいずれかを用いるのが便利と思われます。
[29] XML では、 xs:dateTime
を用いるのが良さそうです。
W3C-DTF に関する W3Cスタッフコメントからも、それが当時の W3C
の意向であることがうかがえます (>>10)。
[33] W3C の Webサイトで公開されていますが、 W3C 会員企業が W3C に提出したことを表すだけであり、 W3C の正式な規格ではありません。 当時の W3C の制度では W3C Note となっていますが、 現在の制度下であれば Member Submission と呼んで区別されているものです。
[30] 明示されていませんが、 ISO 8601のプロファイルであることから ISO 8601 の規定に従い先発グレゴリオ暦を採用しています。
[71] 構文上の制約から、表現可能な範囲はそこから更に狭まっています。
[40] 利用する場面によって粒度が異なるとして幾つかの構文が定義されており、 どれを採用するか利用するプロトコルの側で選択することになっています >>5。
[50] 各要素の詳細な意味については、 ISO 8601 に委ねているためか、
特に記述がありません。 ISO 8601 が採用する仕様の側に決定を委ねているグレゴリオ改暦以前の年の解釈などは、
W3C-DTF でどう処理するべきかはっきりしません。
年 0000
も禁止 (も許可も) されていません。
[49] T
や Z
の大文字と小文字について明記されていませんが、
特に規定がないことから大文字でなければならないと解釈するのが一般的です。
[51] W3C-DTF であると期待される文字列をどう解釈するべきかについては、 まったく規定がありません。
[52] 例えば 2015-02-31
のような存在しない日付を与えられた時、
どう解釈するべきかは不明です。
[12]
古い HTML 仕様である HTML4 は引用規格としてこの仕様を参照していますが、
それを引いている %Datetime;
型の定義では秒までの書式と同じものが (参照ではなく)
陽に定義されています。
%Datetime;
を、現在の規定は HTMLの日時形式を参照
[13]
DCMI メタデータで定義されている語
date
は、この仕様の日までの書式を推奨しています。
語 W3CDTF
はこの仕様の書式を表すとされています。
(が、どの書式なのか、あるいは全部なのかは、よくわかりません。)
[24] RSS 1.0 でよく用いられる dc:date
要素の値は W3C-DTF
とされています >>25。
どの形式なのか、すべてなのかは明記されていませんが、一般的には、また仕様暑中の例示では、
時間帯まで含まれた形式が使われています。
[15] かつて用いられていた Atom 0.3 では、 Date construct >>22 は内容が「W3C Date-Time string」である要素とされていました。
[16] 要素によっては、時間帯が示されているべき、 示されるなら UTC でなければならないといった制約が更に課されています。
[17] Atom 0.3 の改訂版に当たる Atom 1.0 は Date construct に RFC 3339の日付形式と XML Schemaの日付形式を採用しています。
[19] SMIL はいくつかの日時や時間の表現方法を定義しています >>20 が、 日時や日付や時刻に関しては、 W3C-DTF に基づいているとされています。 W3C-DTF で定義されている書式の1つである日付 + 時刻 (秒の小数部まで表現可能) + 時間帯の完全形のほかにも、 日付や時刻や時間帯を省略した書式も定義されています。
[62] Specification, , https://amzn.github.io/ion-docs/docs/spec.html#timestamp
[63] 基本はW3C-DTF。
秒の小数部の桁数は [1, ∞)。
時差は Z
, 時差時分のどちらも可で
-00:00
(unknown local offset) も使用可能。
[65] 年のみ、年月のみ、年月日のみは UTC の unknown local offset と解される。
-00:00
と同じ解釈のことらしい。
(unknown local offset という意味付きとはいえ、
年月日がUTC と解釈されるのは使いにくそうだが...)[64] 年のみ、年月のみのとき直後に T
が必須。
年月日の時直後に T
を付けても良い (なくても良い)。
[67] 等価性 (equivalent): 同じ瞬間、精度、時差なら等しい。
[68] Ion Binary Encoding, , https://amzn.github.io/ion-docs/docs/binary.html#6-timestamp
[69] バイナリー形式はテキスト形式と違ってバイナリーデータ。
UTC での日時部品 (年から秒の小数部まで、年のみ必須) + 時差の分数で表す。
(W3C-DTF と違って日時部品は UTC の値なので、
テキストとバイナリーの変換時に書き換えが生じる。
その結果値域が微妙に違う。
-00:00
も表現できない。)
[9] ISO 8601 との関係: この仕様で規定されている書式は、 ISO 8601:1988 に基づくプロファイルです。しかし、 ISO 8601:2003 から見ると古い書式になっています。
[10]
XML Schema との関係:
XML Schema では、 dateTime
や
gYear
などこの仕様で規定されている書式に相当するデータ型が定義されています。
この仕様についての W3C スタッフの注釈 (XML Schema 勧告後のもの) によれば、 この仕様は既に参照している他の仕様があるのでそのまま残してあるそうですが、 今後は XML Schema のデータ型を参照するべきなのでしょう。
[11] RFC 3339 との関係: 秒までの書式は、 RFC 3339の日付形式とほぼ同じです。
[34] EDTF は W3C-DTF とも互換性があると主張しています。
[56] ODRF は W3C-DTF を基にしていると謳っています。 ただし ODRF が使っているのは W3C-DTF の一部だけです。
[39] draft-newman-datetime
を参考にした >>5 とされています。
draft-newman-datetime
は後の RFC 3339 です。
[58] かつては
http://www.w3.org/TR/1998/NOTE-datetime
でもアクセスできたようですが、現在では 404
です。
[6] W3C-DTF は人間が読む文章でも使うべきものだと誤解してる連中が少なからずいると見える。 ISO 8691 も W3C-DTF も RFC 3339 も、機械処理用の記述形式でしかないのに。 (確かに W3C-DTF Note にはそんなこと一言も書いてない。自明だから書かなかったのかな。)
人間が読むための形式は言語や地域や主義主張や個人の趣味で色々で、それを統一しようとするのは愚かなこと。 W3C がそんなことするわけないじゃん。 (名無しさん 2004-09-04 02:52:38 +00:00)
[7]
というかよく読めば単なる Member Submission で、 W3C が規定したわけでもなんでもないのに、誰が W3C-DTF
なんて言い出したのでしょうね?
ちなみに W3C スタッフのコメントは Comment on Date and Time Formats Submission http://www.w3.org/Submission/1997/14/Comment
最近になって W3C は WG からの公式な W3C 文書と Member/Team Submission を区別するようになりましたけど、時既に遅すぎといいますか、なんと申し上げますか。 (名無しさん)
[14]
>>6 W3C-DTFは人間にも読みやすくていいとか主張している人がいますけど、明らかに不自然なT
が入る書式のどこがよいのでしょうかねぇ。
[23] OpenID Authentication 1.1 ( ( 版)) http://openid.net/specs/openid-authentication-1_1.html#anchor33
[38] W3C-DTF には >>35 のような時間帯の指定を省略した形式は定義されていないのですが...
[54] >>53 の例示の日時は W3C-DTF のいずれとも違う気がしますが...
XML Schema の定義がありますが、なぜか xs:dateTime
は使っていません。
[60] DCMI: DCMI Metadata Terms, , https://www.dublincore.org/specifications/dublin-core/dcmi-terms/#http%3A%2F%2Fpurl.org%2Fdc%2Fterms%2FW3CDTF