2024年5月28日发(作者:)

dar

2.1 编码特性

2.1.1 vcalendar 对象

一个vcalendar数据流可以包含一个或多个vcalendar对象。一个独立的vcalendar对象

由begin标志开始:

BEGIN:VCALENDAR

由END结束:

END:VCALENDAR

Vcalendar对象包含日历和日程安排实体。他们可以使event事件,也可以是todo实体。

2.1.1.1 vEvent对象

一个vEvent对象是包含calendar和scheduling属性的集合,它定义了语法:

BEGIN:vEVENT

结束:

END:vEVENT

vEvent实体不能被嵌套在另一个vEvent或者vTodo实体里。如果他们之间x需要进行

相关联,可以通过定义RELATED-TO属性来实现.

2.1.1.2 vTodo对象

vTodo对象包含在vCalendar之内。语法:

BEGIN:vTODO

结束:

END:vTODO

2.1.2 属性(Property)

属性用来定义描述与vcalendar 相关的event或todo事件的个人属性。属性的语法格

式如下:

PropertyName [„;„ PropertyParameters] ‟:„ PropertyValue

例如:

DTSTART:19960415T083000

“DTSTART”是起始日期/时间属性,“19960415T083000”是ISO8601定义的该属性值

属性值也可以由属性参数表达式构成。例如:

DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Don‟t forget to order Girl=

Scout cookies from Stacey today! //Full property parameter expression

上式也可以简写成:

DESCRIPTION;QUOTED-PRINTABLE:Don‟t forget to order Girl=

Scout cookies from Stacey today! //Full property parameter expression

2.1.3 分隔符(Delimiters)

2.1.4 编码(Encodings)

vCalendar默认7位编码方式。默认的编码方式可以通过使用“ENCODING”属性参数

来修改。这个参数值可以是“BASE64”, “QUOTED-PRINTABLE”, 或者“8-bit”中的某一个。

该参数可以用于任何属性,

2.1.5 字符集(Character Set)

默认为ASCII,默认的字符集可以通过使用“CHARSET”属性参数来改变,该参数可

以用于任何属性,尽管对某些属性来说没有任何意义。

任何一个在因特网分配号码权威机构注册过的字符集都可以用这个参数来指定,例如

ISO 8859-8 or the Latin/Hebrew就可以这样指定:

DESCRIPTION;CHARSET=ISO-8859-8:...

2.1.6 语言(language)

默认为美式英语。可以用“LANGUAGE”属性参数来修改。该属性值可以参照RFC1776。

例如修改为加拿大语:

SUMMARY;LANGUAGE=fr-CA:...

2.1.7 日期和时间

所有 Vcalendar对象属性中的日期和时间的值,都由ISO8601规定的制式字符串表示。

为防止发生时区混乱,应尽可能统一使用UTC时间,而不是当地时间。格式如下:

T

例如当地时间1996年4月15日上午8:30写为:

19960415T083000

如果用UTC来写,则是:

19960415T083000Z

当日期/时间不止一个时,应当连写,并用分号隔开,例如:

19960101T090000Z; 19960201T090000Z; 19960301T090000Z; 19960401T090000Z; ...

2.1.8 持续时间(Time Duration)

持续周期的表示方法:以P开头,Y表示年,M:月;W:周;D:天数;

具体时间序列以T开头,H表示小时,M:分钟;S:秒

例如:

P2Y10M15DT10H30M20S 2年10个月15天10小时30分钟20秒

PT1H30M 1小时30分

2.1.9 属性值定位

属性值一般内嵌在属性里,但是,有些情况下,把属性值作为一个单独的实体效率是比较高

的。

属性参数“VALUE”可以覆盖属性值的“INLINE”定位。

当使用MIME email信息传递VCalendar时,属性值可以用一个包含“CONTENT-ID”或者

“CID”值的独立的MIME实体来定位。另外,属性值还可以用“URL”值进行网络定位。

例:ATTACH;VALUE=URL:/dir_photos/my_

2.1.10 二进制值

vCalendar支持二进制信息

2.1.11 重复的基本语法规则

Frequency:: interval::frequency modifier::end date OR duration

其中: frequency:描述重复事件的类型 ,如按月或者按周重复

Interval :描述重复频率 ,如每天或每三天等等

frequency modifier 可选项,包含频率信息

end date OR duration:end date 和duration 二选一

例子:W2 TU TH #4

W 是frequency,表示按周;2是interval 表示每两周重复一次,TU和TH分别表示周

二和周四,属于频率信息,即周二周四各一次,#4是duration,表示共发生4次,周二周四

加一块共8次。

2.1.11.1 按日重复规则