This chapter describes how Calendar Server software defines and processes time zones.
This chapter contains the following sections:
For more information about time-zone properties and parameters, refer to the RFC 2445, Internet Calendaring and Scheduling Core Object Specification (iCalendar):
This section contains an overview of time zones as implemented by Calendar Server software.
The timezones.ics file contains the representation of the time zones supported by Calendar Server. The file is located in the following directory:
At startup, Calendar Server reads the timezones.ics file, generates time-zone data, and then stores the data in memory. Thus, time-zone data is kept in memory while Calendar Server is running. Consequently, if you add a new time zone or modify an existing one, you must stop and restart Calendar Server for the change to take effect.
Time zones in the timezones.ics file are identified by the TZID parameter. For example, Calendar Server identifies the Pacific Standard Time (PST/PDT) zone using the America/Los_Angeles TZID, as shown in Example 19–1. The TZNAME property is an abbreviated representation of the time zone, such as PST (Pacific Standard Time) for the America/Los_Angeles time zone.
Time zones such as America/Los_Angeles that recognize daylight savings time (DST) contain two subcomponents: STANDARD for standard time and DAYLIGHT for DST. The X-NSCP-TZCROSS list contains a series of dates that indicate when the time zone changes to and from DST (DAYLIGHT) and standard (STANDARD) time.
The RRULE property defines the pattern of the STANDARD and DAYLIGHT rules. The TZOFFSETFROM and TZOFFSETTO properties define the offset from GMT before and after the DST to standard or standard to DST change occurs. The Communications Express user interface uses the dates in X-NSCP-TZCROSS to determine when to display a change in the time zone.
A WCAP command that includes the time zone ID (tzid) parameter should refer to a valid time zone defined in the timezones.ics file. Calendar Server then returns data using that time zone. If a WCAP command specifies an unrecognized time zone, Calendar Server returns data in the GMT time zone by default. For more information about WCAP, refer to theSun Java System Calendar Server 6.3 WCAP Developer’s Guide.
The following example shows the America/Los_Angeles time zone representation in the timezones.ics file.
This section contains conceptual information and instructions on how to manage time zones.
This section contains the following topics:
This section describes how to add a new time zone to Calendar Server, so that it is available in the Communications Express user interface. For example, you might want to add a new time zone for America/Miami.
The simplest way to add a new time zone is to copy and edit time-zone entries that are similar to the time zone you want to add in each of the files described in the following steps. For example, if you want to add a time zone for America/Miami, copy and edit the time-zone entries in each file for America/New_York. If your new time zone has Daylight Savings Time (DST), try to find a similar block to copy.
This section describes how to modify an existing time zone. For example, you might want to change the name of a time zone, such as “America/Phoenix” to “US/Arizona”.
Modify the time-zone block for the time zone you want to change in the following file:
If you are changing a time-zone name, change the TZID entry to the new name.
Modify the getDisplayNameofTZID template in the following file:
where: language specifies the directory for the language your site is using. For example: en for English or fr for French.
If you are changing the name, change the existing time-zone name to the new name.
Modify the following XML files for changes to the time zone:
For information about the entries in these files, see 19.2.1 Adding a New Time Zone.
If the change affects the default time zone for user preferences, modify the “icsTimeZone” entry in the following file:
Steps 2, 3, and 4 are required only if you use the Calendar Express user interface.
Stop (if necessary) and then restart Calendar Server for your time zone changes to take effect.