本章介绍 Calendar Server 软件如何定义和处理时区。
本章包括以下各节:
有关时区属性和参数的更多信息,请参阅 RFC 2445 "Internet Calendaring and Scheduling Core Object Specification (iCalendar)":
http://www.ietf.org/rfc/rfc2445.txt
本节包含 Calendar Server 软件所实施时区的概述。
timezones.ics 文件中包含 Calendar Server 支持的时区表示。该文件位于以下目录中:
/etc/opt/SUNWics5/config/
启动时,Calendar Server 读取 timezones.ics 文件,生成时区数据,然后将数据存储在内存中。这样,在 Calendar Server 运行时,时区数据将一直保存在内存中。之后,如果添加新时区或修改现有的时区,必须停止并重新启动 Calendar Server 才能使所做的更改生效。
timezones.ics 文件中的时区由 TZID 参数标识。例如,Calendar Server 使用 America/Los_Angeles TZID 标识太平洋标准时间 (PST/PDT) 时区,如示例 19–1 所示。TZNAME 属性是时区的缩写表示,例如 PST(Pacific Standard Time,太平洋标准时间)代表 America/Los_Angeles 时区。
可识别夏令时 (daylight savings time, DST) 的时区(例如 America/Los_Angeles)包含两个组成部分:表示标准时间的 STANDARD 和表示 DST 的 DAYLIGHT。X-NSCP-TZCROSS 列表包含一系列日期,用于表明时区何时被更改为(或更改自)DST (DAYLIGHT) 和标准时间 (STANDARD)。
RRULE 属性定义 STANDARD 和 DAYLIGHT 规则的模式。TZOFFSETFROM 和 TZOFFSETTO 属性定义从 DST 更改为标准时间或从标准时间更改为 DST 之前和之后的 GMT 偏移。Communications Express 用户界面通过 X-NSCP-TZCROSS 中的日期来确定何时显示时区中的更改。
包含时区 ID (tzid) 参数的 WCAP 命令应引用 timezones.ics 文件中定义的有效时区。Calendar Server 然后将返回以该时区表示的数据。如果 WCAP 命令指定了无法识别的时区,默认情况下,Calendar Server 将返回以 GMT 时区表示的数据。有关 WCAP 的更多信息,参阅《Sun Java System Calendar Server 6.3 WCAP Developer’s Guide 》。
下面的示例显示了 timezones.ics 文件中 America/Los_Angeles 时区的表示。
本节介绍如何管理时区的概念性信息和说明。
本节包含以下主题:
本节介绍如何为 Calendar Server 添加新时区,以便可以在 Communications Express 用户界面中使用它。例如,您可能需要添加 America/Miami 新时区。
要添加新时区,最简单的方法就是在以下步骤介绍的文件中复制并编辑与要添加的时区类似的时区条目。例如,如果要添加 America/Miami 时区,请复制并编辑每个文件中的 America/New_York 时区条目。如果新时区具有夏令时 (Daylight Savings Time, DST),可尝试找到类似的时区进行复制。
本节介绍如何修改现有时区。例如,您可能需要更改时区的名称,比如将 "America/Phoenix" 更改为 "US/Arizona"。
在以下文件中修改要更改的时区的时区块:
/etc/optSUNWics5/config/timezones.ics
如果要更改时区名称,请将 TZID 条目更改为新名称。
修改以下文件中的 getDisplayNameofTZID 模板:
cal-svr-base/SUNWics5/cal/html/language/i18n.xsl
其中:language 指定您的站点使用的语言的目录。例如:en 代表英语,fr 代表法语。
如果要更改名称,请将现有的时区名称更改为新名称。
修改以下 XML 文件,对时区进行所需的更改:
cal-svr-base/SUNWics5/cal/html/change_timezone.xml
cal-svr-base/SUNWics5/cal/html/new_cal.xml
cal-svr-base/SUNWics5/cal/html/new_group.xml
有关这些文件中的条目的信息,参见19.2.1 添加新时区。
如果所做的更改影响用户首选项的默认时区,修改以下文件中的 "icsTimeZone" 条目:
cal-svr-base/SUNWics5/cal/html/default_user_prefs.xml
如果使用 Calendar Express 用户界面,则只需执行步骤 2、3 和 4。
停止(如果必要)并重新启动 Calendar Server 以使时区更改生效。