[1] [[Web]] では、様々な[[日時形式]]が使われています。

;; [4] 本項で扱うのは[[機械可読]]な[[日時形式]]です。
[[人間]]向けに整形されたものは[[日時形式]]や [CODE(JS)@en[toLocaleString]]
を参照してください。

* 日時

[5] [[日付]]や[[時刻]]を[[文字列]]として表すもの:

[FIG(list)[
- [[HTMLの日付形式]]: [[大域日時]] ([[HTML]])
- [[HTMLの日付形式]]: [[地方日時]] ([[HTML]])
- [CODE(JS)@en[[[document.lastModified]]]] ([[JavaScript]])
- [CODE(XML)@en[[[xs:dateTime]]]] ([[Atom 1.0]], [[RDF]])
- [CODE(XML)@en[[[xs:dateTimeStamp]]]] ([[RDF]])
- [[Schema.orgの日時形式]]: [CODE[[[DateTime]]]] ([[Schema.org]])
- [[RFC 3339の日付形式]] ([[WebDAV]]、[[PKP]])
- [[IETFのXML日付形式]] ([[Atom 1.0]])
- [[HTTPの日付形式]]: [[RFC 1123の日付形式]] ([[HTTP]], [[Cookie]], [[WebDAV]])
- [[HTTPの日付形式]]: [[RFC 850の日付形式]] ([[HTTP]], [[Cookie]])
- [[HTTPの日付形式]]: [[asctime形式]] ([[HTTP]], [[Cookie]])
- [[Cookieの日付形式]]: Netscape ([[Cookie]])
- [[RFC 822の日付形式]] ([[RSS 2.0]])
- [[日付文字列と省略可能な時刻]] ([[HTML]])
- [[日付か時刻]] ([[HTML]])
- [[JavaScriptの日付形式]]: [[ISO 8601]] ([[JavaScript]])
- [[JavaScriptの日付形式]]: その他歴史的な形式 ([[JavaScript]])
- [[W3C-DTF]] ([[Atom 0.3]], [[RSS 1.0]] [[Dublin Core]])
- [[OGPの日時形式]]: [CODE[[[DateTime]]]] ([[OGP]])
- [CODE(URI)@en[[[oauth_timestamp]]]] ([[HTTP]])
- [CODE[GeneralizedTime]] ([[PKIX]])
- [[Exifの日時形式]]
]FIG]

[6] [[日付]]や[[時刻]]を[[数値]]として表すもの:

[FIG(list middle)[
- [[ミリ秒]]数 ([[JavaScript]], [[HTML]])
- [CODE(DOMi)@en[[[DOMTimeStamp]]]] ([[JavaScript]])
- [CODE(DOMi)@en[[[DOMHighResTimeStamp]]]] ([[JavaScript]])
]FIG]

[7] [[日付]]や[[時刻]]を[[オブジェクト]]として表すもの:

[FIG(list)[
- [CODE(JS)@en[[[Date]]]] ([[JavaScript]])
]FIG]

* 日付

[8] [[日付]]のみを[[文字列]]として表すもの:

[FIG(list)[
- [[HTMLの日付形式]]: [[日付]] ([[HTML]])
- [CODE(XML)@en[[[xs:date]]]] ([[RDF]])
- [[Schema.orgの日時形式]]: [CODE[[[Date]]]] ([[Schema.org]])
- [[Data-Vocabulary.orgの日時形式]]: [[日付]] ([[Data-Vocabulary.org]])
]FIG]

* その他日時

[10] その他[[日付]]や[[時刻]]の構成要素の一部を[[文字列]]として表すもの:

[FIG(list middle)[
- [[HTMLの日付形式]]: [[年]] ([[HTML]])
- [[HTMLの日付形式]]: [[月]] ([[HTML]])
- [[HTMLの日付形式]]: [[月日]] ([[HTML]])
- [[HTMLの日付形式]]: [[週]] ([[HTML]])
- [CODE(XML)@en[[[xs:gYearMonth]]]] ([[RDF]])
- [CODE(XML)@en[[[xs:gYear]]]] ([[RDF]])
- [CODE(XML)@en[[[xs:gMonthDay]]]] ([[RDF]])
- [CODE(XML)@en[[[xs:gDay]]]] ([[RDF]])
- [CODE(XML)@en[[[xs:gMonth]]]] ([[RDF]])
]FIG]

[16] [[数値]]として表すもの:
[FIG(list middle)[
- [[HTML月数]] ([[HTML]])
]FIG]

* 時間帯

[11] [[時間帯]]や[[時差]]を[[文字列]]として表すもの:

[FIG(list)[
- [[HTMLの時間帯表記]]: [[妥当な時差文字列]] ([[HTML]])
- [[HTMLの時間帯表記]]: [[vCard]] ([[HTML]])
]FIG]

* 媒体時刻

[FIG(middle list)[ [9] [[媒体時刻]]を表すもの
- [[WebVTTの時刻形式]] ([[WebVTT]])
- [[NPT]] ([[媒体素片]] [CODE(URI)[[[t=npt:]]]], [[MediaRSS]])
- [CODE[itunes:duration]]
]FIG]

* 時間長

[12] [[時間]]の長さを[[文字列]]として表すもの:

[FIG(list)[
- [[HTMLの時間長形式]]: [[HTML]] 形式 ([[HTML]])
- [[HTMLの時間長形式]]: [[ISO 8601]] 形式 ([[HTML]])
- [[妥当なvEvent時間長文字列]] ([[HTML]])
- [CODE(XML)@en[[[xs:duration]]]] ([[RDF]])
- [CODE(XML)@en[[[xs:yearMonthDuration]]]] ([[RDF]])
- [CODE(XML)@en[[[xs:dayTimeDuration]]]] ([[RDF]])
- [CODE[http://schema.org/Duration]] ([[Schema.org]])
- [[Data-Vocabulary.orgの日時形式]]
- 非負整数による[[秒]]数 ([[HTML]], [[HTTP]] [CODE(ABNF)@en[[[delta-seconds]]]], [[Cookie]], [[OGP]], [CODE(URI)@en[[[expires_in]]]]、
[CODE[TTL:]])
- 非負整数による[[分]]数 ([CODE(HTTP)@en[[[Meter:]] [[timeout]]]])
- [CODE(CSS)@en[[[<time>]]]] ([[CSS]])
]FIG]

[13] [[時間]]の長さを[[数値]]として表すもの:

[FIG(list middle)[
- [[ミリ秒]]数 ([[JavaScript]])
-- [CODE(JS)@en[Date]]
-- [CODE(DOMm)@en[setTimeout]]
-- [CODE(DOMm)@en[setInterval]]
-- [CODE(DOMm)@en[requestIdleCallback]]
-- [CODE[maximumAge]]
-- [CODE[timeout][PositionOptions]]
-- [CODE(DOMa)@en[interval][devicemotion]]
- [[秒]]数 ([[HTML]] [CODE(HTML)@en[[[<input type=time>]]]] [CODE(HTMLa)@en[[[step]]]])
- [[分]]数 ([[RSS 2.0]] [CODE[ttl]])
- [[日]]数 ([[HTML]] [CODE(HTML)@en[[[<input type=date>]]]] [CODE(HTMLa)@en[[[step]]]])
- [[週]]数 ([[HTML]] [CODE(HTML)@en[[[<input type=week>]]]] [CODE(HTMLa)@en[[[step]]]])
- [[月]]数 ([[HTML]] [CODE(HTML)@en[[[<input type=month>]]]] [CODE(HTMLa)@en[[[step]]]])
]FIG]

* 時間長の並び

[14] [[時間]]の長さの[[リスト]]を[[オブジェクト]]として表すもの:

[FIG(list)[
- [CODE(DOMi)@en[[[VibratePattern]]]]
]FIG]

* 時間間隔

[15] [[時刻]]の範囲を[[文字列]]として表すもの:

[FIG(list)[
- [[HTMLの日付形式]]: [[時刻]] ([[HTML]])
- [CODE(XML)@en[[[xs:time]]]] ([[schema.org]], [[RDF]])
- [[HTMLの時刻の範囲の形式]]: 時刻と時刻 ([[HTML]])
- [[HTMLの時刻の範囲の形式]]: 時刻と時間長 ([[HTML]])
- [[Schema.orgの日時形式]]: 毎週の時刻の範囲 ([[Schema.org]])
- [CODE[day][day (RSS)]]: [[UTC]] [[曜日]] ([[RSS 2.0]])
- [CODE[hour][hour (RSS)]]: [[UTC]] [[時]] ([[RSS 2.0]])
]FIG]

* データモデル

[SEE[ [[Web暦]] ]]

* 実装

[2] [[Perlモジュール]] [CODE(perl)@en[[[Web::DateTime]]]] は、
[[Webの日時形式]]の多くの[[構文解析]]と[[直列化]]を実装しています。

[REFS[
- [3] [CITE@en[perl-web-datetime]] ([TIME[2015-12-14 19:05:16 +09:00]] 版) <https://manakai.github.io/pod/perl-web-datetime>
]REFS]

[17] 各[[日時形式]]の項も参照。

* メモ

[18] 
[CODE[unavailable_after]]