<time>の解説|クロノドライブのHTML5辞典

<time>

対応ブラウザ Firefox 22~ / Opera 11.5~15
タグの分類 フロー・コンテンツ
フレージング・コンテンツ
含められるもの フレージング・コンテンツ
使える場所 フレージング・コンテンツを使える場所
用例 <time>2013-01-01</time>

<time>とは

「time」とは、日付や時刻、時間を表す際に使用するタグです。機械での処理がしやすいよう決まった書式を使い、24時間表記の時刻やグレゴリオ暦による日付を表します。<time>要素では、時刻と日付がセットではなく、時刻のみ、日付のみでも記述できます。タイムゾーンごとのUTCからの差分を指定することも可能です。
現在は一般的な西暦としてグレゴリオ暦が使用されています。ただし、グレゴリオ歴は1582年に制定されたものなので、それ以前の日付には<time>タグは使用しないよう推奨されています。また、国によって導入時期が異なります(日本では1872年に導入)。

<time>の日付/時刻は使える書式が厳密に決まっており、たとえば年、月、日の区切りにはハイフンを使わなければなりません。「1983/11/15」や「2014年1月8日」など他の書式の日付を<time>でマークアップしたい場合、datetime属性へ正式な書式での日付を指定する必要があります。
datetime属性を使わない場合、<time>は子孫要素を持つこともできません。

HTML5の以前の草案では、<time>の日付/時刻が文書や記事の公開日時であることを示すpubdate属性というものがありましたが、pubdate属性は現在の仕様では廃止されています。<time>が表す日付/時刻の意味を明示したい場合は、microdataを使うという方法があります。

<time>が受け付ける書式は以下のものです。


<time>2011-11</time>

日付
<time>2011-11-12</time>
年-月-日の順です

西暦を省略した日付
<time>11-12</time>
月-日の順です

時刻
<time>14:54</time>
<time>14:54:39</time>
<time>14:54:39.929</time>

地域ごとの(タイムゾーンオフセットなしの)日付と時刻
<time>2011-11-12T14:54</time>
<time>2011-11-12T14:54:39</time>
<time>2011-11-12T14:54:39.929</time>
<time>2011-11-12 14:54</time>
<time>2011-11-12 14:54:39</time>
<time>2011-11-12 14:54:39.929</time>
Tは日付と時刻の区切り文字で、スペースを使っても同じ意味となります。
タイムゾーンオフセットがないため、たとえばある年の1月1日0時0分0秒やクリスマスなど、複数のタイムゾーンで同時ではなくとも同じ日付に起きる行事を表す際などに便利です。
国際会議の予定のように、複数のタイムゾーンで時差によらず完全に同じ時を示す必要がある場合は、後で紹介するグローバルの日付時刻表記を使います。

タイムゾーンオフセット
<time>Z</time>
<time>+0000</time>
<time>+00:00</time>
<time>-0800</time>
<time>-08:00</time>
UTCからの差分を表します。Zは差分なしという意味です。

グローバルの日付と時刻
<time>2011-11-12T14:54Z</time>
<time>2011-11-12T14:54:39Z</time>
<time>2011-11-12T14:54:39.929Z</time>
<time>2011-11-12T14:54+0000</time>
<time>2011-11-12T14:54:39+0000</time>
<time>2011-11-12T14:54:39.929+0000</time>
<time>2011-11-12T14:54+00:00</time>
<time>2011-11-12T14:54:39+00:00</time>
<time>2011-11-12T14:54:39.929+00:00</time>
<time>2011-11-12T06:54-0800</time>
<time>2011-11-12T06:54:39-0800</time>
<time>2011-11-12T06:54:39.929-0800</time>
<time>2011-11-12T06:54-08:00</time>
<time>2011-11-12T06:54:39-08:00</time>
<time>2011-11-12T06:54:39.929-08:00</time>
<time>2011-11-12 14:54Z</time>
<time>2011-11-12 14:54:39Z</time>
<time>2011-11-12 14:54:39.929Z</time>
<time>2011-11-12 14:54+0000</time>
<time>2011-11-12 14:54:39+0000</time>
<time>2011-11-12 14:54:39.929+0000</time>
<time>2011-11-12 14:54+00:00</time>
<time>2011-11-12 14:54:39+00:00</time>
<time>2011-11-12 14:54:39.929+00:00</time>
<time>2011-11-12 06:54-0800</time>
<time>2011-11-12 06:54:39-0800</time>
<time>2011-11-12 06:54:39.929-0800</time>
<time>2011-11-12 06:54-08:00</time>
<time>2011-11-12 06:54:39-08:00</time>
<time>2011-11-12 06:54:39.929-08:00</time>
末尾がZの場合はUTCでの時刻そのままという意味です。それ以外は特定のタイムゾーンでの時刻を表し、-はUTCより遅れている時間、+はUTCより進んでいる時間を表します。

週番号
<time>2011-W46</time>
月曜から始まるカレンダーでの週番号を表し、年により最大で52か53となります。
<time>へ与える日付書式の多くはISO8601にもとづいており、週番号についても同様です。その年で最初の木曜日を含む週、つまり1月4日を含む週が第1週となります。
たとえば2013年12月30日は2014-W1に含まれ、2016年1月3日は2015-W53に含まれます。

4桁以上のASCIIの数値で、少なくともどれか1桁は0でないもの
<time>2011</time>
<time>0001</time>

期間、時間
<time>PT4H18M3S</time>
<time>4h 18m 3s</time>
何らかの期間、継続的な時間を表します。
上の例の書式はPから始まり、日数D、区切り文字のT、時間H、分M、秒(小数点以下3桁まで)Sと続きます。
下の例の書式では週W 日D 時間H 分M 秒Sと半角スペースで区切って時間を表します。

属性

datetime 概要 YYYY-MM-DDThh:mm:ssTZDなど、有効な日時の文字列