在 html5 <time> 元素的 datetime 属性中使用日期和持续时间

Sto*_*opa 5 html time datetime semantics

我有一个事件列表,每个事件都有一个开始日期和一个结束日期,我想使用 html5<time>元素使列表在语义上更丰富。

我发现我可以使用该datetime属性来提供机器可读的时间,如下所示:

<time datetime="2015-02-21">my birthday</time>
Run Code Online (Sandbox Code Playgroud)

我还发现该属性支持持续时间,如下所示:

<time datetime="P2D">two days</time>
Run Code Online (Sandbox Code Playgroud)

但是,我一直无法找到将两者组合在一个<time>元素中的正确方法,例如,显示从 2 月 21 日开始并持续两天的事件。

我可以简单地使用由空格分隔的日期和持续时间吗:

<time datetime="2015-02-21 P2D">21.-23. February</time>
Run Code Online (Sandbox Code Playgroud)

或者正确的方法是使用两个<time>元素?

<div>
 <time datetime="2015-02-21">21.</time>
 -
 <time datetime="2015-02-23">23.</time>
 February
</div>
Run Code Online (Sandbox Code Playgroud)

Bol*_*ock 3

似乎没有办法将特定日期字符串或时间字符串与单个<time>元素中的持续时间字符串组合起来。该规范建议使用两个<time>元素:

代码示例:

时间元素可用于对日期进行编码,例如微格式。下面显示了使用 hCalendar 上使用时间元素的变体对事件进行编码的假设方法:

<div class="vevent">
 <a class="url" href="http://www.web2con.com/">http://www.web2con.com/</a>
  <span class="summary">Web 2.0 Conference</span>:
  <time class="dtstart" datetime="2005-10-05">October 5</time> -
  <time class="dtend" datetime="2005-10-07">7</time>,
  at the <span class="location">Argent Hotel, San Francisco, CA</span>
 </div>
Run Code Online (Sandbox Code Playgroud)

这与您的示例非常匹配。