HTML5 time
元素是用于定义页面的日期和时间的语义元素。
基本的time元素
time
元素包含2个部分的日期信息。一个部分是给机器阅读的,另一个部分是给人阅读的。下面是一个简单的time
元素的示例代码:
<time datetime="2015-10-01">2015年10月1日</time>
如上面的示例代码中,datetime
属性中给出的日期是给机器阅读的。而给人阅读的日期是写在<time>
标签之间的部分。
如果你只需要使用机器能阅读的日期,可以将日期写在<time>
标签之间,而不写datatime
属性,例如下面的样子:
<time>2015-10-01</time>
在2011年的时候,time
元素曾经被从HTML5规范中移除。但是后面经过一些更新之后,有被从新添加到HTML5规范中。
日期格式
time
元素的日期格式必须是下面列出的几种格式中的一种:
YYYY-MM-DDTHH:MM:SS.SSS+ZHZM YYYY-MM-DDTHH:MM:SS.SSS-ZHZM YYYY-WXX
上面的日期格式的含义如下:
字母代码 | 描述 |
YYYY | 使用4个数字指定的年份,例如:2015 |
MM | 使用2个数字指定的月份,例如:09或12,月份必须在01-12之间 |
WXX | 使用2个数字指定的一年中的星期数,例如01或51。星期数必须在01-53之间 |
DD | 使用2个数字指定的天数,例如01或31。天数必须在01-31之间 |
T | 字母T用于表明在日期之后包含一个时间串。也可以使用一个空格来代替字母T |
HH | 使用2个数字来指定的小时数,小时数必须在00-23之间 |
MM | 使用2个数字指定的分钟数,分钟数必须在00-59之间 |
SS | 使用2个数字指定的秒数,秒数必须在00-59之间 |
SSS | 使用3个数字指定的毫秒数,毫秒数必须在000-999之间 |
-ZHZM | 以UTC(Coordinated Universal Time)为标准的时区偏移。使用+或-来指定,然后使用4个数字的小时和分钟(HHMM)来作为偏移值。 |
+ZHZM | 以UTC(Coordinated Universal Time)为标准的时区偏移。使用+或-来指定,然后使用4个数字的小时和分钟(HHMM)来作为偏移值。 |
这些选项的某些部分是可选的。例如,你可以不使用时间部分,苗和毫秒也是可选的。如果你使用了时间部分,必须指定时区。
下面列出了日期时间格式的一些例子:
日期时间格式 | 例子 |
YYYY | 2015 |
YYYY-MM | 2015-09 |
YYYY-MM-DD | 2015-09-09 |
YYYY-WXX | 2015-W35 |
MM-DD | 09-10 |
YYYY-MM-DDTHH:MM-ZHZM | 2015-09-10T23:59-0500 |
YYYY-MM-DDTHH:MM:SS-ZHZM | 2015-09-10T23:59:59-0500 |
YYYY-MM-DDTHH:MM:SS.SSS+ZHZM | 2015-09-10T23:59:59:999+0200 |
YYYY-MM-DDTHH:MM:SS.SSS-ZHZM | 2015-09-10T23:59:59:999-0500 |
指定持续时间
我们还可以使用time
元素来指定一个持续时间,而不是一个精确的时间。要指定一个持续时间,可以在一个time
元素中的datatime
属性中使用一个P
前缀,然后在它的后面添加时间的单位。这里的时间单位使用1个字母来表示,例如:
<time datetime="P1D">
上面的例子表示持续一天的时间。
持续时间的单位可以是:
单位 | 描述 |
D | 天 |
H | 小时 |
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属性
time
元素的pubdate
属性指明这个时间是不是一篇文章<article>
的发表时间。
下面是一个例子:
<time datetime="2015-09-10" pubdate>2015年9月10日</time>
注意,你不需要为pubdate
属性指定true
或false
值。像上面这样书写,就表示这个时间是一个发表时间。
下面是一个在article
元素中使用time
元素的示例代码:
<article> <p> 这是最后一次流星撞击地球。 </p> <p> <time datetime="2015-09-10" pubdate>2015年9月10日</time> </p> </article>
上面的<time>
元素是否需要嵌入到一个p
元素中并没有硬性的规定。