/[pub]/suikawiki/sw4data/ids/8/458.txt
Suika

Contents of /suikawiki/sw4data/ids/8/458.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Sat Dec 13 04:23:01 2008 UTC (16 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.2: +36 -4 lines
File MIME type: text/plain
updated by (anon)

1 wakaba 1.2 [7] [[HTML]] ではいくつかの[[属性]]などで[[日時]]を表す文字列が用いられています。
2     そのほとんどは [[ISO 8601の日付形式]]に近いものですが、歴史的な理由により異なる書式を採用している文脈もあります。
3    
4 wakaba 1.3 [[HTML]] で定義されている[[日付形式]]には、次のものがあります。
5     - [[時刻]]
6     - [[月]]
7     - [[日付]]
8     - [[週]]
9     - [[地方日時]]
10     - [[大域日時]]
11     - [[日付か時刻]]
12    
13 wakaba 1.2 [8] 仕様書:
14     - [[HTML5]] <http://www.whatwg.org/specs/web-apps/current-work/#dates-and-times>
15    
16     * 定義
17    
18     [10] [DFN[[RUBYB[数字]@en[digit]]]]とは、
19     [CODE(char)[[[U+0030]]]]~[CODE(char)[[[0039]]]] の[[文字]]であって、
20     [[十進数]]を表すために使われます [SRC@en[[[HTML5]]]]。
21    
22     [9] ある[[年]]のある[[月]]の[[日]]の数は、[[グレゴリオ暦]]に基づき、次のように定義されています
23     [SRC@en[[[HTML5]]]]。
24     - [[1月]]、[[3月]]、[[5月]]、[[7月]]、[[8月]]、[[10月]]、[[12月]]は、 '''31'''
25     - [[4月]]、[[6月]]、[[9月]]、[[11月]]は、 '''30'''
26     - [[2月]]は、
27     -- [[年]]が400で割り切れるか、または4で割り切れて100で割り切れないなら
28     ([[閏年]]なら)、 '''29'''
29     -- それ以外なら、 '''28'''
30    
31     * 月
32    
33     [11] [DFN[[RUBYB[月]@en[month]]]]は、[[グレゴリオ暦]]上の[[日付]]を表します。ただし、
34     [[月]]は[[時間帯]]の情報を持ちませんし、[[日付]]の精度は[[年]]と[[月]]だけで、[[日]]は特定しません。
35     [SRC@en[[[HTML5]]]]
36    
37     - [13] [CODE(ABNF)[[DFN[[RUBYB[妥当な月]@en[valid month]]]] := 4*[[数字]] "-" 2[[数字]]]]
38     [SRC@en[[[HTML5]]]]
39     -- 1つ目の[[数字]]列は、[[年]]を表す[[正数]]
40 wakaba 1.3 -- 2つ目の[[数字]]列は、[[月]]を表す 1〜12 の[[数]]
41 wakaba 1.2
42     [14] [DFN[[RUBYB[月文字列の構文解析]@en[parse a month string]]]]
43     [SRC@en[[[HTML5]]]]:
44     = [[月部品の構文解析]]を行い、それが何も返さなかったら、何も返さないで終える
45     = [[文字列]]がそれで終わっていなければ、何も返さないで終える
46     = (1) で得られた[[年]]と[[月]]を返す
47    
48 wakaba 1.3 [15] [DFN[[RUBYB[月部品の構文解析][parse a month component]]]]
49 wakaba 1.2 [SRC@en[[[HTML5]]]]:
50     - 与えられた[[文字列]]が[[正規表現]] [CODE(regexp)[([0-9]{4,})-([0-9]{2})]]
51     に[[一致]]すれば、
52     -= $1 を[[十進数]]として解釈したものを[[年]]とする
53     -= $2 を[[十進数]]として解釈したものを[[月]]とする
54     -= [[年]]が 0 なら、何も返さない
55 wakaba 1.3 -= [[月]]が 1〜12 でなければ、何も返さない
56 wakaba 1.2 -= そうでない場合、[[年]]と[[月]]を返す
57     - そうでない場合、何も返さない
58 wakaba 1.3
59     * 日付
60    
61     [16] [DFN[[RUBYB[日付]@en[date]]]]は、[[グレゴリオ暦]]上の[[日付]]を表します。
62     [[日付]]には[[年]]、[[月]]、[[日]]が含まれますが、[[時間帯]]は含まれません。
63     [SRC@en[[[HTML5]]]]
64    
65     -[17] [CODE(ABNF)@en[[DFN[[RUBYB[妥当な日付文字列]@en[valid date string]]]] := [[妥当な月文字列]] "-" 2[[数字]]]]
66     [SRC@en[[[HTML5]]]]
67     -- 最後の[[数字]]列は、[[年]]と[[月]]に基づく[[日]]の数 (>>9) [[以下]]の[[正数]]で、[[日]]を表す
68    
69     [18] [DFN[[RUBYB[日付文字列の構文解析]@en[parse a date string]]]]
70     [SRC@en[[[HTML5]]]]:
71     = [[日付部品の構文解析]]を行い、それが何も返さなかったら、何も返さないで終える
72     = [[文字列]]がそれで終わっていなければ、何も返さないで終える
73     = (1) で得られた[[年]]と[[月]]と[[日]]を返す
74    
75     [19] [DFN[[RUBYB[日付部品の構文解析][parse a date component]]]]
76     [SRC@en[[[HTML5]]]]:
77     = [[月部品の構文解析]]により、[[年]]と[[月]]を得る。何も返されなかった場合、何も返さず終わる
78     = [[文字列]]の続きが[[正規表現]] [CODE(regexp)[-([0-9]{2})]] に[[一致]]しない場合、何も返さず終わる
79     = $1 を[[十進数]]として解釈したものを[[日]]とする
80     = $1 が 1~[[年]]と[[月]]に基づく[[日]]の数 (>>9) でなければ、何も返さず終わる
81     = [[年]]と[[月]]と[[日]]を返す
82 wakaba 1.2
83     * 暦との関係
84    
85     [12] [[HTML]] は[[グレゴリオ暦]] (だけ) を採用しています。[[グレゴリオ暦]]が採用される以前の[[日付]]も表すことができますが、
86     [[グレゴリオ暦]]を過去に延長した場合に相当する[[日付]]を使って表されます
87     (proleptic グレゴリオ暦などと呼ばれます)。
88    
89 wakaba 1.1 * [CODE(SGML)[%Datetime;]] 型 (HTML 4, XHTML 1)
90    
91     [1] [[HTML 4]] の [DFN[[CODE(SGML)[%Datetime]]]] 型は、
92     [[W3C-DTF]] の2番目に長い (秒未満までは表現できない)
93     形式です。
94    
95     [6] 仕様書:
96     - [[HTML 4]]
97     -- <IW:HTML4:"types.html#type-datetime">
98     -- [[厳密DTD]] <IW:HTML4:"sgml/dtd.html#Datetime">
99     -- [[移行用DTD]] <IW:HTML4:"sgml/loosedtd.html#Datetime">
100     -[[XHTML 1.0]]
101     -- [CSECTION[A.1.1. XHTML-1.0-Strict]]
102     <http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-strict.dtd_Datetime>
103     -- [CSECTION[A.1.2. XHTML-1.0-Transitional]]
104     <http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-transitional.dtd_Datetime>
105     -- [CSECTION[A.1.3. XHTML-1.0-Frameset]]
106     <http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-frameset.dtd_Datetime>
107     - [[XHTML m12n]]
108     --[CSECTION[4.3. Attribute Types]]
109     <IW:XHTML1m12n:"abstraction.html#dt_Datetime">
110    
111     [5]
112     :[[引数実体名]]:[CODE(SGML)[%Datetime]] ([[HTML 4]], [[XHTML 1.0]])
113     :抽象属性型名:[CODE[Datetime]] ([[XHTML m12n]])
114     :属性型名:[Q[datetime]] ([[HTML 4]])
115     :[[SGML]] [[属性型]]:[CODE(SGML)[[[CDATA]]]]
116     :[[XML]] [[属性型]]:[CODE(XML)[[[CDATA]]]]
117     :大文字・小文字:区別あり
118    
119     [2] 大文字・小文字は区別されます。
120     [CODE(HTML)[T]] と [CODE(HTML)[Z]] が使われ得ますが、
121     いずれも大文字でなければなりません。
122    
123     [3] 時・分・秒が得られない時は、 [CODE(HTML)[00]]
124     としてもよいことになっています。
125     閏秒の 60秒は W3C‐DTF では表現できません。
126    
127     [4]
128     [CODE(HTMLe)[[[ins]]]] 要素や [CODE(HTMLe)[[[del]]]] 要素の [CODE(HTMLa)[[[datetime]]]] 属性が [CODE(SGML)[%Datetime]] 型です。
129    
130    
131     [[#comment]]
132    
133    
134     * メモ

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24