HTML5时间元素

时间:2020-01-09 10:34:40  来源:igfitidea点击:

HTML5time元素用于语义标记HTML5页面中的日期和时间。

时间元素基础

时间元素包含两个版本的日期。一种日期形式的机器可读格式,一种版本的人类可读格式。这是一个time元素的例子:

<time datetime="2012-05-01">Jan 1st 2012</time>

日期的机器可读版本写在datetime属性中。可读版本写在开始和结束标记之间,作为"时间"元素的主体。

如果只想使用日期的机器可读版本,则可以将机器可读的日期版本放在time元素的主体内,并保留datetime属性。这是一个例子:

<time>2012-05-01</time>

HTML5规范中的时间元素

在2011年末,time元素已从HTML5规范中删除,但又添加回去,并进行了一些更新。截至2012年5月,"时间"元素还处于活跃状态。

阳历公历

"时间"元素在公历中必须包含一个正日期。这意味着在公历(基督教)日历中,日期不能早于" 0000"年。

日期格式

时间元素的日期格式必须为以下格式之一:

YYYY-MM-DDTHH:MM:SS.SSS+ZHZM
YYYY-MM-DDTHH:MM:SS.SSS-ZHZM
YYYY-WXX

上面格式中使用的代码的含义是:

字母代码含义
YYYY使用4位数字指定的年份,例如2012
MM使用2位数指定的月份,例如09或者12.
月份必须在01到12之间。
WXX使用2位数字指定的一年中的星期,例如
DD使用2位数指定的日期,例如
TT表示此日期还包含T后面列出的时间部分。使用空格代替T也合法。
HH以2位数指定的小时数。时间从00到23.
MM分钟用2位数字指定。分钟从00到59.
SS使用2位数指定的秒数。秒从00到59.
SSS使用3位数字指定的毫秒数。毫秒从000到999.
-ZHZM相对于UTC(世界标准时间)的时区偏移量,使用+或者-指定,然后
使用总计4位数(HHMM)的小时和分钟偏移量。
+ ZHZM相对于UTC(世界标准时间)的时区偏移量,使用+或者-指定,然后
使用总计4位数(HHMM)的小时和分钟偏移量。

此格式的某些部分是可选的。例如,我们不需要时间部分。如果我们有时间部分,则秒和毫秒部分是可选的。但是,如果确实有时间部分,则还必须有时区部分。

以下是法律示例日期和时间格式的列表:

格式示例
YYYY2012
YYYY-MM2012-05
YYYY-MM-DD2012-05-30
YYYY-WXX2012-W49
MM-DD05-30
YYYY-MM-DDTHH:MM-ZHZM2012-05-30T23:59-0500
YYYY-MM-DDTHH:MM:SS-ZHZM2012-05-30T23:59:59-0500
YYYY-MM-DDTHH:MM:SS.SSS + ZHZM2012-05-30T23:59:59:999 + 0200
YYYY-MM-DDTHH:MM:SS.SSS-ZHZM2012-05-30T23:59:59:999-0500

持续时间

可以使用时间元素来指定持续时间,而不是精确的日期。这是通过在时间前面加一个" P",然后写一些时间单位,最后写一个字母来指定时间单位来完成的。这是一个例子:

<time datetime="P1D">

本示例指定持续时间为1天(D)。

可以使用的持续时间单位为:

单位描述
D
小时小时
M分钟
S第二

我们不能指定月份,因为月份不是固定的时间(秒)。一个月的长度(以秒为单位)取决于我们所谈论的月份。

允许使用空格分隔持续时间的各个部分(以提高可读性),如下所示:

<time datetime="P 1 D">

如果在P之后使用T,则可以指定更精确的持续时间。例如:

<time datetime="PT12H 34M 59S">

本示例指定持续时间为12小时34分59秒。

注意如何允许使用空格分隔持续时间的各个组成部分。我们也可以这样写上面的持续时间:

<time datetime="PT 12H 34M 59S">
<time datetime="PT12H34M59S">

pubdate属性

"时间"元素的"发布日期"属性指示给定的"时间"元素是封闭的"文章"元素的发布日期,还是整个"body"元素的发布日期。

这是一个例子:

<time datetime="2012-05-01" pubdate>Jan 1st 2012</time>

注意,我们不需要为pubdate属性设置特定的true / false值。如果属性如上所示存在,则"时间"元素被视为发布日期。

这是一个在article元素中嵌入time元素的示例:

<article>

    <p>
        This is the last time a meteor hit earth.
    </p>

    <p>
        <time datetime="2012-05-01" pubdate>Jan 1st 2012</time>
    </p>

</article>

对于"时间"元素应包含在" p"元素中还是作为" article"元素的直接子元素,没有任何规则。

时间的语义使用

搜索引擎的浏览器和网络爬虫可以使用time元素来推断正在显示的HTML的语义。例如,浏览器可能能够检测日期并询问我们是否要将该日期添加到日历中,或者是否采用其他格式。网络爬虫可能能够使用"时间"元素来分析何时发布给定的"文章",以检测网站更改的频率。

将来"时间"元素可能会在语义上有更多用途。