-
Notifications
You must be signed in to change notification settings - Fork 4
/
826.txt
231 lines (167 loc) · 10.5 KB
/
826.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
[1]
俗に [DFN@en[[[W3C-DTF]]]] と呼ばれる[[日付形式]]は、
[TIME[1997年9月][1997-09]]に [[W3C]] の[[会員]]企業である [[Reuters Limited]]
が [[W3C]] に[[提出]]した [[ISO 8601の日付形式]]の[[プロファイル]]です。
[FIG(important)[
[8] 「W3C-DTF」と呼ばれている[[日時形式]]は、実際には [[W3C]] が制定したものではありません
(>>33)。
]FIG]
[3]
[[ISO 8601]] は、様々な[[応用]]を考慮して、
割と自由な[[日付]]と[[時刻]]の表現形式を規定しています。
この[[プロファイル]]では、それを [[Web]]
で使うにあたって無駄な自由度をなくしており、機械処理が比較的容易になっています。
[4]
必要な[[精度]] ([[日]]まで、[[秒]]までなど)
で6種類の書式が定義されています。
* 代替
[27] 既に [[W3C-DTF]] を用いることと決められている場合を除き、
[[日時]]を [[W3C-DTF]] によって表現するべきではありません。
[31] [[W3C-DTF]] の[[仕様書]]は、手続き上は[[廃止]]されていません
[WEAK[([[W3C Note]] なので「現行」も「[[廃止]]」も無いのかも?)]]。
しかし、現代の基準では[[標準]]規格として十分な品質を有しておらず、
十数年間誰にもメンテナンスされず放置されており、
[[XML Schema]] や [[HTML5]] をはじめとした新しい世代の[[仕様]]からも参照されていません。
従って、実質的には失効しているとみなすべきでしょう。
[28] [[HTML]] その他 [[Web]] 上では、一般に
'''[[HTMLの日時形式]]'''のいずれかを用いるのが便利と思われます。
[29] [[XML]] では、 '''[CODE(XML)@en[xs:dateTime]]''' を用いるのが良さそうです。
[[W3C-DTF]] に関する [[W3Cスタッフ]]コメントからも、それが当時の [[W3C]]
の意向であることがうかがえます (>>10)。
* 仕様書
[REFS[
- [5] [CITE@en[Date and Time Formats]] ([[W3C]] [[会員提出物]])
<http://www.w3.org/TR/1998/NOTE-datetime-19980827>
-- [CITE@en[Submission request to the World Wide Web Consortium]]
<http://www.w3.org/Submission/1997/14/>
-- [CITE@en[Status for Date and Time Formats]]
<http://www.w3.org/1998/.status/NOTE-datetime-19980827/status>
-- [CITE@en[Comment on Date and Time Formats Submission]]
([[W3C]] [[スタッフ]]注釈)
<http://www.w3.org/Submission/1997/14/Comment>
]REFS]
[33] [[W3C]] の [[Webサイト]]で公開されていますが、
[[W3C]] [[会員]]企業が [[W3C]] に[[提出]]したことを表すだけであり、
[[W3C]] の正式な規格ではありません。
当時の [[W3C]] の制度では [[W3C Note]] となっていますが、
現在の制度下であれば [[Member Submission]] と呼んで区別されているものです。
* 閏秒
[18] この[[日付形式]]は[[閏秒]]に対応していません。
* Date construct (Atom 0.3)
[15] [[Atom 0.3]] では、 [DFN[[[Date construct]]]]
は[[内容]]が「[[W3C]] Date-Time string」である[[要素]]とされていました。
[22]
仕様書:
[CITE[The Atom Syndication Format 0.3 (PRE-DRAFT)]] ([TIME[2006-12-22 17:03:44 +09:00]] 版) <http://www.mnot.net/drafts/draft-nottingham-atom-format-02.html#rfc.section.3.3>
** 内容
[16] [[要素]]によっては、[[時間帯]]が示されている[['''べき''']]、
示されるなら [[UTC]] でなければ[['''ならない''']]といった制約が更に課されています。
** 関連
[17] [[Atom 1.0]] [[Date construct]] に [[RFC 3339の日付形式]]と [[XML Schemaの日付形式]]を採用しています。
詳しくは [[XML Schemaの日付形式]]の項をご覧ください。
*SMIL の日付形式
[19] [[SMIL]] はいくつかの[[日時]]や[[時間]]の表現方法を定義していますが、
[[日時]]や[[日付]]や[[時刻]]に関しては、 [[W3C-DTF]] に基づいているとされています。
[[W3C-DTF]] で定義されている書式の1つである[[日付]] + [[時刻]] ([[秒の小数部]]まで表現可能) + [[時間帯]]の完全形のほかにも、
[[日付]]や[[時刻]]や[[時間帯]]を省略した書式も定義されています。
[21] [[閏秒]]に対応していないのも同じです。
[20] 仕様書:
-[CITE@en[SMIL 3.0 Timing and Synchronization]] ([TIME[2008-12-02 00:45:09 +09:00]] 版) <http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-timing.html#q31>
* 関連
[9]
'''ISO 8601 との関係''':
この仕様で規定されている書式は、 [[ISO 8601]]:1988
に基づく[[プロファイル]]です。しかし、 [[ISO 8601]]:2003
から見ると古い書式になっています。
[10]
'''XML Schema との関係''':
[[XML Schema]] では、 [CODE(XML)@en[[[dateTime]]]] や
[CODE(XML)@en[[[gYear]]]]
などこの仕様で規定されている書式に相当する[[データ型]]が定義されています。
この仕様についての [[W3C]] [[スタッフ]]の注釈
([[XML Schema]] [[勧告]]後のもの) によれば、
この仕様は既に参照している他の仕様があるのでそのまま残してあるそうですが、
今後は [[XML Schema]] の[[データ型]]を参照するべきなのでしょう。
[11]
'''RFC 3339 との関係''':
[[秒]]までの書式は、 [[RFC 3339の日付形式]]とほぼ同じです。
[12]
'''HTML 4 との関係''':
[[HTML 4]] は[[引用規格]]としてこの仕様を参照していますが、
それを引いている [CODE(SGML)@en[%[[Datetime]]]]
型の定義では[[秒]]までの書式と同じものが (参照ではなく)
陽に定義されています。
;; [30] 現在の [[HTML Standard]] における定義については、 [[HTMLの日時形式]]を参照してください。
[13]
'''Dublin Core との関係''':
[[DCMI]] [[メタデータ]]で定義されている語
[CODE@en[[[date]]]] は、この仕様の[[日]]までの書式を推奨しています。
語 [CODE@en[[[W3CDTF]]]] はこの仕様の書式を表すとされています。
(が、どの書式なのか、あるいは全部なのかは、よくわかりません。)
[24] [[RSS 1.0]] でよく用いられる [CODE(XMLe)@en[[[dc:date]]]] [[要素]]の値は [[W3C-DTF]]
とされています。
[26] どの形式なのか、すべてなのかは明記されていませんが、一般的には、また仕様暑中の例示では、
[[時間帯]]まで含まれた形式が使われています。
[REFS[
- [25] [CITE[RDF Site Summary 1.0 Modules: Dublin Core]] ([TIME[2002-07-02 20:19:41 +09:00]] 版) <http://web.resource.org/rss/1.0/modules/dc/>
]REFS]
[34] [[EDTF]] は [[W3C-DTF]] とも互換性があると主張しています。
* 例
- [2] [CODE(example)[2003-01-02]]
* 歴史
[39] [CODE[draft-newman-datetime]] を参考にした [SRC[>>5]] とされています。
[CODE[draft-newman-datetime]] は後の [[RFC 3339]] です。
* メモ
[6]
W3C-DTF は人間が読む文章でも使うべきものだと誤解してる連中が少なからずいると見える。
[[ISO 8691]] も W3C-DTF も [[RFC 3339]] も、機械処理用の記述形式でしかないのに。
(確かに W3C-DTF Note にはそんなこと一言も書いてない。自明だから書かなかったのかな。)
人間が読むための形式は言語や地域や主義主張や個人の趣味で色々で、それを統一しようとするのは愚かなこと。
[[W3C]] がそんなことするわけないじゃん。
([[名無しさん]] [WEAK[2004-09-04 02:52:38 +00:00]])
[7]
というかよく読めば単なる Member Submission で、 W3C が規定したわけでもなんでもないのに、誰が [Q[W3C-DTF]] なんて言い出したのでしょうね?
ちなみに W3C スタッフのコメントは
[CITE[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]]は人間にも読みやすくていいとか主張している人がいますけど、明らかに不自然な[Q@en[T]]が入る書式のどこがよいのでしょうかねぇ。
[23] [CITE@en[OpenID Authentication 1.1]]
( ([TIME[2007-10-08 22:03:49 +09:00]] 版))
<http://openid.net/specs/openid-authentication-1_1.html#anchor33>
[FIG(quote)[
[FIGCAPTION[
[32] ([TIME[2016-03-25 14:44:38 +09:00]] 版)
<http://iss.ndl.go.jp/rss/ndlopac/index.xml>
]FIGCAPTION]
> <dcterms:issued xsi:type="dcterms:W3CDTF">2016</dcterms:issued>
]FIG]
[FIG(amazon)[
Web技術
]FIG]
[FIG(quote)[
[FIGCAPTION[
[35] [CITE@ja[Echo【bitFlyer】]]
([TIME[2017-05-10 18:44:42 +09:00]])
<https://bitflyer.jp/ja/corporate/echo/api>
]FIGCAPTION]
> リクエスト時のパラメータや、レスポンスデータ内において、日時を表現するために ISO 8601(W3C-DTF)形式(※2)の文字列を用います。タイムゾーンは JST で固定。フォーマットは“yyyy-mm-dd hh:mm:ss”。
]FIG]
[38] [[W3C-DTF]] には >>35 のような[[時間帯]]の指定を省略した形式は定義されていないのですが...
[FIG(quote)[
[FIGCAPTION[
[36] [CITE[Top-level Element: <originInfo> (MODS Ver. 3 User Guidelines: Metadata Object Description Schema, Library of Congress)]]
([TIME[2013-08-15 04:37:12 +09:00]])
<https://www.loc.gov/standards/mods/userguide/origininfo.html>
]FIGCAPTION]
> 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.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[37] [CITE[Top-level Elements and Attributes (MODS Ver. 3 User Guidelines: Metadata Object Description Schema, Library of Congress)]]
([TIME[2016-07-22 06:48:40 +09:00]])
<https://www.loc.gov/standards/mods/userguide/generalapp.html>
]FIGCAPTION]
> 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.
]FIG]