如何使用HTML5时间标记标记日期范围?

Ste*_*haw 31 tags time html5 date

在HTML5中标记日期时,我知道您应该使用<time>标记,如下所示

<time datetime="2011-04-02">2nd April 2011</time>

但是你(或者你应该)如何标记"2011年4月2日至4日"等日期范围?

谢谢.

Chr*_*ian 31

此时标记日期范围尚未确定.(您可以在WhatWG网站上看到关于日期范围的不断变化的讨论.)

您现在最好的选择是简单地将日期范围ISO 8601语法用作时间标记中的日期时间值.简而言之,只需使用正斜杠将两个值分开即可.

例如,2011年4月2日至4日将是:

<time datetime="2011-04-02/2011-04-04">2nd&ndash;4th April 2011</time>
Run Code Online (Sandbox Code Playgroud)

这是一个代表2000-2010的更简单的例子:

<time datetime="2000/2010">2000&ndash;2010</time>
Run Code Online (Sandbox Code Playgroud)

请记住在日期之间使用En短划线进行正确演示.

  • 这个建议的一个缺点是,例如,如果您为Schema.org模式标记内容(例如,需要startDate和endDate的模式),则无法指定startDate的日期,哪个是结束日期.接受的答案是kludgier,但对于这种目的来说就足够了. (5认同)
  • 这不是有效的 HTML:`元素时间上的属性日期时间的错误值 2011-04-02/2011-04-04:文字不满足时间-日期时间格式。`。 (2认同)

dog*_*ane 27

如果<time>有一种表示范围的好方法会很好,但你必须做这样的事情:

<time datetime="2011-04-02">2nd</time> - <time datetime="2011-04-04">4th April 2011</time>
Run Code Online (Sandbox Code Playgroud)