Sun Java System Calendar Server 6 2005Q4 Developer's Guide

Example

The first example shows the command output. The second example is a crossover array.

Example 1

This query gets all time zones.

http://calendarserver/get_all_timezones.wcap
                     ?id=2m2ns6w9x9h2mr6p3b
                     &fmt-out=text/calendar

This is the result of the query:

BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:6.0
 X-NSCP-CALPROPS-LAST-MODIFIED:19700101T000000Z
X-NSCP-CALPROPS-CREATED:19700101T000000Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:default
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^wdeic^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^sf^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VTIMEZONE
TZID:Africa/Amman
BEGIN:STANDARD
DTSTART:19950920T000000
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EEST
RRULE:FREQ=YEARLY;BYDAY=-1FR;BYMONTH=9
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19930420T000000
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEDT
RRULE:FREQ=YEARLY;BYDAY=-1FR;BYMONTH=4
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Africa/Cairo
BEGIN:STANDARD
DTSTART:19950924T000000
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EEST
COMMENT:this is a comment
RRULE:FREQ=YEARLY;BYDAY=-1FR;BYMONTH=9
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19950420T000000
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEDT
RRULE:FREQ=YEARLY;BYDAY=-1FR;BYMONTH=4
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE

...

other time zones omitted to conserve space

...

BEGIN:VTIMEZONE
TZID:Pacific/Tongatapu
BEGIN:STANDARD
DTSTART:19970101T000000
TZOFFSETFROM:+1300
TZOFFSETTO:+1300
TZNAME:TOT
TZNAME:PHOT
END:STANDARD
END:VTIMEZONE
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

Example 2

The following is an example of a time zone array element where crossover dates have been limited to the years from mid-1998 to 2006:

timezoneList[20] = new TZ(\qAmerica/Los_Angeles\q,
\qPST\q,
\qPDT\q,
\q-0800\q,
\q-0700\q,
new Array
(\q19981025T090000Z\q,\q20020404T100000Z\q,\q20021031T090000Z\q,
\q20020402T100000Z\q,\q20021029T090000Z\q,\q20020401T100000Z\q,
\q20021028T090000Z\q, \q20020407T100000Z\q, \q20021027T090000Z\q,
\q20030406T100000Z\q, \q20031026T090000Z\q, \q20040404T100000Z\q,
\q20041031T090000Z\q, \q20050403T100000Z\q, \q20051030T090000Z\q,
 \q20060402T100000Z\q, \q20061029T090000Z\q))

The “America/Phoenix” time zone does not have daylight-savings. Thus the daylight elements exactly equal the standard elements. Also, the crossover strings are set to the empty string.

timezoneList[23] = new TZ(’America/Phoenix’,
                                        ’MST’,
                                        ’MST’,
                                        ’-0700’,
                                        ’-0700’,
                                        new Array())