Previous     Contents     Index     Next     
iPlanet Calendar Server Administrator's Guide



Appendix B       Time Zones


This appendix describes how the Calendar Server processes time zones. It also describes how you can add a new time zone table or modify the time zone tables supplied with the Calendar Server.

This appendix contains the following sections:



Time Zone Administration Overview

The timezones.ics file contains the representation of the time zones supported by the Calendar Server. This file, which contains 92 time zones, is located in the server-root/cal/bin/data directory (for example, on Solaris systems: opt/SUNWics5/cal/bin/data).

At startup, the Calendar Server reads the timezones.ics file, generates 92 time zones, and stores them in an array in memory. Thus, all the time zones are kept in memory while the Calendar Server is running.

If a WCAP command includes a time zone ID (tzid), it should reference a time zone in the array in memory. For example, if a command such as storeevents or fetchcomponents_by_range specifies a tzid parameter, the parameter value must be a tzid defined in the list of 92 time zones. The Calendar Server then returns data in that time zone, and all data will have dates applied to that time zone.

If a command specifies an unrecognized tzid, the server returns a GMT time zone by default. All data returned by that command will have its dates applied in GMT.

For more information about WCAP, refer to the iPlanet Calendar Server Programmer's Manual.



Managing Calendar Server Time Zones



This section describes how to add or modify a time zone:

To modify the Calendar Server time zone list, you must edit the timezones.ics file located in the server-root/cal/bin/data directory (for example, on Solaris systems: opt/SUNWics5/cal/bin/data). This file contains the Calendar Server format for 92 time zones.

Time zones are identified by the TZID property. For example, the Calendar Server recognizes the Pacific Standard Time Zone (PST/PDT) as the TZID America/Los_Angeles (shown in the following example). Time zones with daylight savings usually contain two parts: STANDARD and DAYLIGHT.

Figure B-1    America/Los_Angeles Time Zone 



TZID:America/Los_Angeles
BEGIN:STANDARD
DTSTART:19671025T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19870405T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
END:DAYLIGHT
X-NSCP-TZCROSS:19880403T100000Z;19881030T090000Z;19890402T100000Z;19891029T090 000Z;
  19900401T100000Z;19901028T090000Z;19910407T100000Z;19911027T090000Z;
  19920405T100000Z;19921025T090000Z;19930404T100000Z;19931031T090000Z;
  19940403T100000Z;19941030T090000Z;19950402T100000Z;19951029T090000Z;
  19960407T100000Z;19961027T090000Z;19970406T100000Z;19971026T090000Z;
  19980405T100000Z;19981025T090000Z;19990404T100000Z;19991031T090000Z;
  20000402T100000Z;20001029T090000Z;20010401T100000Z;20011028T090000Z;
  20020407T100000Z;20021027T090000Z;20030406T100000Z;20031026T090000Z;
  20040404T100000Z;20041031T090000Z;20050403T100000Z;20051030T090000Z;
  20060402T100000Z;20061029T090000Z;20070401T100000Z;20071028T090000Z;
  20080406T100000Z;20081026T090000Z;20090405T100000Z;20091025T090000Z;
  20100404T100000Z;20101031T090000Z;20110403T100000Z;20111030T090000Z;
  20120401T100000Z;20121028T090000Z;20130407T100000Z;20131027T090000Z;
  20140406T100000Z;20141026T090000Z;20150405T100000Z;20151025T090000Z;
  20160403T100000Z;20161030T090000Z;20170402T100000Z;20171029T090000Z;
  20180401T100000Z;20181028T090000Z;20190407T100000Z;20191027T090000Z;
  20200405T100000Z;20201025T090000Z;20210404T100000Z;20211031T090000Z;
  20220403T100000Z;20221030T090000Z;20230402T100000Z;20231029T090000Z;
  20240407T100000Z;20241027T090000Z;20250406T100000Z;20251026T090000Z;
  20260405T100000Z;20261025T090000Z;20270404T100000Z;20271031T090000Z;
  20280402T100000Z;20281029T090000Z;20290401T100000Z;20291028T090000Z;
  20300407T100000Z;20301027T090000Z;20310406T100000Z;20311026T090000Z;
  20320404T100000Z;20321031T090000Z;20330403T100000Z;20331030T090000Z;
  20340402T100000Z;20341029T090000Z;20350401T100000Z;20351028T090000Z;
  20360406T100000Z;20361026T090000Z;20370405T100000Z;20371025T090000Z;
  20360406T120000Z;20361026T110000Z;20370405T120000Z;20371025T110000Z
END:VTIMEZONE

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 DAYLIGHT to STANDARD or STANDARD to DAYLIGHT change occurs. The TZNAME property is an abbreviated representation of the time zone. For more information about time-zone properties, refer to RFC 2445, Internet Calendaring and Scheduling Core Object Specification (iCalendar).


To Add a New Time Zone

  1. Create a TZID name not already included in the TZID list.

  2. Create a representation of the time zone.

  3. To support the Calendar Express user interface, you must generate the X-NSCP-TZCROSS list for the new time zone. The Calendar Express user interface uses the dates in X-NSCP-TZCROSS to determine when to display a change in the time zone.

    The X-NSCP-TZCROSS list contains a list of dates that indicate when the time zone changes from DAYLIGHT to STANDARD and STANDARD to DAYLIGHT:

    • Odd number dates indicate STANDARD to DAYLIGHT changes.

    • Even number dates indicate DAYLIGHT to STANDARD changes.

  4. Stop and then restart the Calendar Server so the new time zone will be read into memory.


To Modify an Existing Time Zone
  1. Modify a TZID to represent the desired time zone data.

  2. To support the Calendar Express client, you must generate the X-NSCP-TZCROSS list for the modified time zone. See the previous Step 3 for more information.

  3. Stop and then restart the Calendar Server so the modified time zone will be read into memory.


Customizing Time Zones in the User Interface

To modify the Calendar Express user interface to use a customized naming scheme for the time zone, you must add JavaScript to map the new names to the time-zone names supplied with the Calendar Server.

For example, to use a customized time zone table called US Pacific instead of the supplied America/Los_Angeles table, you must provide a program to map the US Pacific dates to the America/Los_Angeles table.



Note Do not modify the time zone list unless absolutely necessary.




iPlanet Calendar Server Time Zones Table

The iPlanet Calendar Server time zone table is defined in a plain text file named timezones.ics located in the server-root/cal/bin/data directory (for example, opt/SUNWics5/cal/bin/data). It includes 92 time zones based on the JDK (Java Development Kit) version 1.1.

The following example shows the first few sections of the time zone table.

Figure B-2    iPlanet Calendar Server Time Zone Table



BEGIN:VTIMEZONE
TZID:Pacific/Apia
BEGIN:STANDARD
DTSTART:19970101T000000
TZOFFSETFROM:-1100
TZOFFSETTO:-1100
TZNAME:WST
TZNAME:SST
TZNAME:NUT
END:STANDARD
END:VTIMEZONE

BEGIN:VTIMEZONE
TZID:Pacific/Honolulu
BEGIN:STANDARD
DTSTART:19970101T000000
TZOFFSETFROM:-1000
TZOFFSETTO:-1000
TZNAME:HST
TZNAME:TKT
TZNAME:TAHT
END:STANDARD
END:VTIMEZONE

BEGIN:VTIMEZONE
TZID:America/Adak
BEGIN:STANDARD
DTSTART:19671025T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZOFFSETFROM:-0900
TZOFFSETTO:-1000
TZNAME:HAST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19870405T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
TZOFFSETFROM:-1000
TZOFFSETTO:-0900
TZNAME:HADT
END:DAYLIGHT
X-NSCP-TZCROSS:19880403T120000Z;19881030T110000Z;19890402T120000Z;19891029T110 000Z;
19900401T120000Z;19901028T110000Z;19910407T120000Z;19911027T110000Z;
  19920405T120000Z;19921025T110000Z;19930404T120000Z;19931031T110000Z;
  19940403T120000Z;19941030T110000Z;19950402T120000Z;19951029T110000Z;
  19960407T120000Z;19961027T110000Z;19970406T120000Z;19971026T110000Z;
  19980405T120000Z;19981025T110000Z;19990404T120000Z;19991031T110000Z;
  20000402T120000Z;20001029T110000Z;20010401T120000Z;20011028T110000Z;
  20020407T120000Z;20021027T110000Z;20030406T120000Z;20031026T110000Z;
  20040404T120000Z;20041031T110000Z;20050403T120000Z;20051030T110000Z;
  20060402T120000Z;20061029T110000Z;20070401T120000Z;20071028T110000Z;
  20080406T120000Z;20081026T110000Z;20090405T120000Z;20091025T110000Z;
  20100404T120000Z;20101031T110000Z;20110403T120000Z;20111030T110000Z;
  20120401T120000Z;20121028T110000Z;20130407T120000Z;20131027T110000Z;
  20140406T120000Z;20141026T110000Z;20150405T120000Z;20151025T110000Z;
  20160403T120000Z;20161030T110000Z;20170402T120000Z;20171029T110000Z;
  20180401T120000Z;20181028T110000Z;20190407T120000Z;20191027T110000Z;
  20200405T120000Z;20201025T110000Z;20210404T120000Z;20211031T110000Z;
  20220403T120000Z;20221030T110000Z;20230402T120000Z;20231029T110000Z;
  20240407T120000Z;20241027T110000Z;20250406T120000Z;20251026T110000Z;
  20260405T120000Z;20261025T110000Z;20270404T120000Z;20271031T110000Z;
  20280402T120000Z;20281029T110000Z;20290401T120000Z;20291028T110000Z;
  20300407T120000Z;20301027T110000Z;20310406T120000Z;20311026T110000Z;
  20320404T120000Z;20321031T110000Z;20330403T120000Z;20331030T110000Z;
  20340402T120000Z;20341029T110000Z;20350401T120000Z;20351028T110000Z;
  20360406T120000Z;20361026T110000Z;20370405T120000Z;20371025T110000Z
END:VTIMEZONE


Previous     Contents     Index     Next     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

Last Updated January 22, 2002