タイム要素(time)の仕様と使い方

カテゴリ:HTML5編

time要素の概要

time要素は日付や時刻を表す要素で、主に検索エンジンが記事の投稿日時を取得したり、リマインダー機能の実装などを助けます。
文書内の日付や時刻は24時間表記の時刻もしくは先発グレゴリオ暦による正確な日付を表す場合に使用します。

日付や時刻を指定する場合、以下のような定められた書式(datetime値)で指定する必要があります。

datetime値とは:
例えば、データベースでは日付と時刻の情報を格納するデータ型であるdatetime型ではdatetime形式を使用します。 つまりtime要素はデータベースのdatetime型と親和性の高い要素となり、Webページ上で日時を扱う際に有用な要素となります。

time要素にdatetime属性を指定した場合は、datetime属性にdatetime値を指定します。その場合time要素のボディ部は任意の表記で結構です。
一方、datetime属性を指定しない場合はtime要素のボディ部がdatetime値として扱われます

datetime値のフォーマット一覧

datetime値のフォーマットは以下のように時刻のみ日付のみ日付と時刻の両方タイムゾーンの指定ありでの記述が可能です。

時刻

時刻
種類記述例
分まで
<time>12:05</time>
秒まで
<time>12:05:50</time>

ミリ秒まで
<time>12:05:50.862</time>

日付

日付
種類記述例
年月日
<time>2019-06-06</time>

年月
<time>2019-06</time>

月日
<time>06-06</time>

日付と時刻

日付と時刻
種類記述例
日付と時刻
<time>2019-06-06 12:05:50.862</time>

または

<time>2019-06-06T12:05:50.862</time>

タイムゾーン指定

タイムゾーン指定
種類記述例
タイムゾーン指定
<time>2019-06-06 12:05:50.862+09:00</time>

または

<time>2019-06-06 12:05:50.862+0900</time>

参考:
https://www.w3.org/TR/html5/text-level-semantics.html#the-time-element

一般的な構成例

time要素ではdatetime属性を使用しない場合と使用する場合の両方の記述方法があります。
それぞれの記述方法の違いは以下となります。

datetime属性を使用しない場合

datetime属性を使用しない場合はtime要素のボディ部(コンテンツ部)にはdatetime値で日付もしくは時刻、またはその両方を記述する必要があります。

例)

<p>明日の遠足は<time>08:00</time>に集合です。</p>

明日の遠足はに集合です。

datetime属性での指定

datetime属性を使用してdatetime値を指定する場合、time要素のボディ部(コンテンツ部)には任意のテキストを記述することが可能です。
例)

<p>明日の遠足は<time datetime="2019-06-10 08:00">午前8時</time>に集合です。</p>

明日の遠足はに集合です。

なお、文書や記事の発行日時を示すpubdate属性は2011年11月に廃止されており、使用する事はできません。

time要素の利点

HTML5より前のバージョンでは日付や時刻を表す専用の要素は存在しなかったため、Webシンジケーションリマインダーなどのプログラム(機械可読)などから記事の投稿日時や更新日時、イベントの日時などを格納する要素が統一されておらず検出することが困難でした。
time要素を使用してそれらの日時を構成することで、プログラムがその記事の投稿日時等を見つけるのが容易になります。

W3Cによるtime要素の説明

time要素は、24時間制の時刻、または先発グレゴリオ暦の正確な日付のいずれかを表し、オプションで時間とタイムゾーンのオフセットを表します。

この要素は、現代の日付と時刻を機械可読な方法でエンコードする方法として意図されています。例えば、ユーザーエージェントが誕生日のリマインダーや予定されたイベントをユーザーのカレンダーに追加することを申し出ることができます。

公開日時:2019年06月10日 16:52:40

なお、レンタルサーバー選びで迷ったらこちらの記事で主要レンタルサーバーのプランと料金を比較していますので、是非参考にしてみてください。

HTML5編に戻る

このページのトップに戻る