hCalendar微格式 关于事件和基于时间或地点的活

2020-05-08 10:13:28易采站长站整理

必要属性:summary和dtstart

hCalendar必须的属性为(除了根元素vevent)summary和dtstart.

summary

summary属性描述了事件的概要信息。此属性包含的内容通常是在日历应用中显示的基本信息,比如事件的名称。所以,在我的例子中,“BarCamp Albuquerque 3”被包含在summary之中,也就是在我个人日历中用来显示的名称:

<p>Yes, it’s short notice, but mark your calendars: <a href="http://barcamp.org/BarCampAlbuquerque" class="url summary“><span class=”category”>BarCamp</span> Albuquerque 3</a> is this weekend.</p>

dtstart

dtstart属性描述了事件的开始时间/日期。在上面的例子中,“September 13”:

<dd><abbr class=”dtstart” title=”2008-09-13T09:00:00″>September 13</abbr>–<abbr class=”dtend” title=”2008-09-14T18:00:00″>14</abbr>, from 9am–6pm both days</dd>

日期/时间设计模式

注意到包含dtstart的容器是<abbr>,被包含的信息为“September 13”而title的属性值是“2008-09-13T09:00:00”:

<dd><abbr class=”dtstart” title=”2008-09-13T09:00:00“>September 13</abbr>–<abbr class=”dtend” title=”2008-09-14T18:00:00″>14</abbr>, from 9am–6pm both days</dd>

这是目前在微格式中定义日期/时间格式的推荐做法──被称作“日期时间设计模式”(是abbr设计模式的扩展)。此模式开发的目的是为了支持微格式的原则之一:先为人类阅读设计,机器次之,最终是让人类和机器都能够阅读识别。因此,逻辑上是,机器──例如这些web应用──会使用title部分,而浏览器会为人类阅读只显示<abbr>中的内容。

同时,作为使用日期时间模式规范的一部分,日期/时间信息应当被遵循ISO 8601的定义:

YYYY-MM-DDThh:mm:ss — “Y”表示年的数字,”M”表示月份,”D”表示天,”h”表示小时,”m”表示分钟,”s”表示秒
YYYY-MM-DDThh:mm:ssZ — “Z”用来表示GMT(格林威治)时间
YYYY-MM-DDThh:mm:ss+hh (或者 -hh) — “+hh” 和 “-hh” 表示参照格林威治时间的偏移量

为了简单说明,举个例子,2008-09-30T13:00:00 = 2008年9月30日下午1:00(当地时间)。上面例子中的字母”T”将日期信息和时间信息分开。如果您仅仅有一个日期,忽略“T”和后面的时间信息就可以了。类似的,如果您只有时间信息,忽略掉“T”和前面的日期信息即可。这个模式目前不幸的还有一些无障碍访问问题,我会在文章后面继续讨论。现在,让我们继续上面的例子。