W3C-DTF

W3C-DTF

[1] 俗に W3C-DTF と呼ばれる日付形式は、 W3C会員企業である Reuters LimitedW3C提出した ISO 8601の日付形式プロファイルです。

[8] 「W3C-DTF」と呼ばれている日時形式は、実際には W3C が制定したものではありません (>>33)。

[3] ISO 8601 は、様々な応用を考慮して、 割と自由な日付時刻の表現形式を規定しています。 このプロファイルでは、それを Web で使うにあたって無駄な自由度をなくしており、機械処理が比較的容易になっています。

[4] 必要な精度 (まで、までなど) で6種類の書式が定義されています。

代替

[27] 既に W3C-DTF を用いることと決められている場合を除き、 日時W3C-DTF によって表現するべきではありません。

[31] W3C-DTF仕様書は、手続き上は廃止されていません (W3C Note なので「現行」も「廃止」も無いのかも?)。 しかし、現代の基準では標準規格として十分な品質を有しておらず、 十数年間誰にもメンテナンスされず放置されており、 XML SchemaHTML5 をはじめとした新しい世代の仕様からも参照されていません。 従って、実質的には失効しているとみなすべきでしょう。

[28] HTML その他 Web 上では、一般に HTMLの日時形式のいずれかを用いるのが便利と思われます。

[29] XML では、 xs:dateTime を用いるのが良さそうです。 W3C-DTF に関する W3Cスタッフコメントからも、それが当時の W3C の意向であることがうかがえます (>>10)。

仕様書

[33] W3CWebサイトで公開されていますが、 W3C 会員企業が W3C提出したことを表すだけであり、 W3C の正式な規格ではありません。 当時の W3C の制度では W3C Note となっていますが、 現在の制度下であれば Member Submission と呼んで区別されているものです。

構文

[40] 利用する場面によって粒度が異なるとして幾つかの構文が定義されており、 どれを採用するか利用するプロトコルの側で選択することになっています >>5

[41] 次の6種類の構文が示されています >>5

[48] ここで、各要素は次のような値です >>5

[50] 各要素の詳細な意味については、 ISO 8601 に委ねているためか、 特に記述がありません。 ISO 8601 が採用する仕様の側に決定を委ねているグレゴリオ改暦以前のの解釈などは、 W3C-DTF でどう処理するべきかはっきりしません。 0000 も禁止 (も許可も) されていません。

[49] TZ大文字小文字について明記されていませんが、 特に規定がないことから大文字でなければならないと解釈するのが一般的です。

閏秒

[18] この日付形式閏秒に対応していません。

解釈

[51] W3C-DTF であると期待される文字列をどう解釈するべきかについては、 まったく規定がありません。

[52] 例えば 2015-02-31 のような存在しない日付を与えられた時、 どう解釈するべきかは不明です。

文脈

[12] 古い HTML 仕様である HTML4引用規格としてこの仕様を参照していますが、 それを引いている %Datetime; 型の定義ではまでの書式と同じものが (参照ではなく) 陽に定義されています。

[30] 当時の規定の詳細は %Datetime; を、 現在の規定は HTMLの日時形式を参照してください。

[13] DCMI メタデータで定義されている語 date は、この仕様のまでの書式を推奨しています。 語 W3CDTF はこの仕様の書式を表すとされています。 (が、どの書式なのか、あるいは全部なのかは、よくわかりません。)

[24] RSS 1.0 でよく用いられる dc:date 要素の値は W3C-DTF とされています >>25。 どの形式なのか、すべてなのかは明記されていませんが、一般的には、また仕様暑中の例示では、 時間帯まで含まれた形式が使われています。

[57] その他 RDF語彙が採用していることがあります。

Date construct (Atom 0.3)

[15] かつて用いられていた Atom 0.3 では、 Date construct >>22内容が「W3C Date-Time string」である要素とされていました。

内容

[16] 要素によっては、時間帯が示されているべき、 示されるなら UTC でなければならないといった制約が更に課されています。

関連

[17] Atom 0.3 の改訂版に当たる Atom 1.0Date constructRFC 3339の日付形式XML Schemaの日付形式を採用しています。 詳しくは XML Schemaの日付形式の項をご覧ください。

SMIL の日付形式

[19] SMIL はいくつかの日時時間の表現方法を定義しています >>20 が、 日時日付時刻に関しては、 W3C-DTF基づいている (based upon) とされています。 W3C-DTF で定義されている書式の1つである日付 + 時刻 (秒の小数部まで表現可能) + 時間帯の完全形のほかにも、 日付時刻時間帯を省略した書式も定義されています。

[26] W3C-DTFInformative References の1つとして挙げられているに過ぎず、 それに「基づいた」構文を SMIL 側で独自に規定しています。

[21] 閏秒に対応していないのも同じです。

関連

[9] ISO 8601 との関係: この仕様で規定されている書式は、 ISO 8601:1988 に基づくプロファイルです。しかし、 ISO 8601:2003 から見ると古い書式になっています。

[10] XML Schema との関係: XML Schema では、 dateTimegYear などこの仕様で規定されている書式に相当するデータ型が定義されています。

この仕様についての W3C スタッフの注釈 (XML Schema 勧告後のもの) によれば、 この仕様は既に参照している他の仕様があるのでそのまま残してあるそうですが、 今後は XML Schemaデータ型を参照するべきなのでしょう。

[11] RFC 3339 との関係: までの書式は、 RFC 3339の日付形式とほぼ同じです。

[34] EDTFW3C-DTF とも互換性があると主張しています。

[56] ODRFW3C-DTF を基にしていると謳っています。 ただし ODRF が使っているのは W3C-DTF の一部だけです。

歴史

[39] draft-newman-datetime を参考にした >>5 とされています。 draft-newman-datetime は後の RFC 3339 です。

メモ

[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>

[32] ( 版) <http://iss.ndl.go.jp/rss/ndlopac/index.xml>

<dcterms:issued xsi:type="dcterms:W3CDTF">2016</dcterms:issued>

Web技術

[35] Echo【bitFlyer】 () <https://bitflyer.jp/ja/corporate/echo/api>

リクエスト時のパラメータや、レスポンスデータ内において、日時を表現するために ISO 8601(W3C-DTF)形式(※2)の文字列を用います。タイムゾーンは JST で固定。フォーマットは“yyyy-mm-dd hh:mm:ss”。

[38] W3C-DTF には >>35 のような時間帯の指定を省略した形式は定義されていないのですが...

[36] Top-level Element: <originInfo> (MODS Ver. 3 User Guidelines: Metadata Object Description Schema, Library of Congress) () <https://www.loc.gov/standards/mods/userguide/origininfo.html>

Use of the encoding attribute is recommended. If an exact year is known, the DLF/Aquifer guidelines recommend representing the value using the W3CDTF encoding, which also allows month and day to be specified if known. The W3CDTF encoding is a profile of the more flexible ISO 8601 standard. Using W3CDTF ensures a more predictable format for dates. The DLF/Aquifer guidelines recommend using ISO 8601 encoding only when a date cannot be expressed using W3CDTF.

[37] Top-level Elements and Attributes (MODS Ver. 3 User Guidelines: Metadata Object Description Schema, Library of Congress) () <https://www.loc.gov/standards/mods/userguide/generalapp.html>

w3cdtf – This value identifies dates following the W3C profile of ISO 8601, Date and Time Formats, that specifies the extended format for dates using the pattern: YYYY-MM-DD. If hours, minutes, and seconds are also needed the following pattern is used: YYYY-MM-DDThh:mm:ss.

[53] XLIFF Version 2.0 () <http://docs.oasis-open.org/xliff/xliff-core/v2.0/os/xliff-core-v2.0-os.html#ctr_datetime>

Value description: Date in one of the formats defined in [NOTE-datetime].

<ctr:revision author="system" datetime="2013-05-15T10:00:00+8:00">

[54] >>53 の例示の日時W3C-DTF のいずれとも違う気がしますが... XML Schema の定義がありますが、なぜか xs:dateTime は使っていません。

[55] SVF PDF Archiver Web APIリファレンス () <https://manual.wingarc-support.com/manual/svf/spa93apiref/?pageId=p55980886>

ISO8601 RFC3339 W3CDTF(日付と時刻をTでつなげる)に準拠した文字列(例 "2016-11-22T11:18:43.933+0900")で出力します。