本章說明 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 (太平洋標準時間) 表示 America/Los_Angeles 時區。
識別日光節約時間 (DST) 的時區 (例如 America/Los_Angeles) 包含兩個子元件:STANDARD (標準時間) 及 DAYLIGHT (DST)。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」。
以下範例顯示 America/Los_Angeles 時區在 timezones.ics 檔案中的表示法。
本小節包含如何管理時區的概念資訊及說明。
本小節包含以下主題:
本小節說明如何向 Calendar Server 增加新的時區,以便其在 Communications Express 使用者介面中可用。例如,您可能要為 America/Miami 增加新時區。
增加新時區最簡單的方法是複製並編輯以下步驟所說明的每個檔案中與要增加的時區類似的時區項目。例如,如果要為 America/Miami 增加時區,可複製並編輯每個檔案中用於 America/New_York 的時區項目。如果您的新時區包含日光節約時間 (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,以使時區變更生效。