![]() |
iPlanet Calendar Server 管理ガイド |
付録 C タイムゾーン
ここでは、iPlanet Calendar Server によるタイムゾーンの処理について説明します。また、新しいタイムゾーンテーブルを追加する方法や iPlanet Calendar Server に付属するタイムゾーンテーブルを変更する方法についても説明します。iPlanet Calendar Server でサポートしているタイムゾーンの表記は、「iPlanet Calendar Server タイムゾーンテーブル」に掲載されているファイル timezones.ics で定義されます。このファイルは、server-root/cal/bin/data ディレクトリにあります (例 : /opt/SUNWics5/cal/bin/data)。このファイルには、91 のタイムゾーンが含まれています。
iPlanet Calendar Server は、起動時にファイル timezones.ics を読み込み、91 のタイムゾーンをメモリ内に生成し、それらを配列 cal_array に格納します。このため、サーバの実行中は、すべてのタイムゾーンがメモリ内に保持されます。
WCAP コマンドが、タイムゾーン ID (tzid) を含んでいる場合は、cal_array 内のタイムゾーンを参照する必要があります。WCAP については、『iPlanet Calendar Server プログラマリファレンス』を参照してください。
たとえば、storeevents や fetchcomponents_by_range などのコマンドに tzid パラメータを指定する場合、その値は 91 のタイムゾーンリストに定義されている tzid でなければなりません。サーバからはそのタイムゾーンのデータが返され、すべてのデータでそのタイムゾーンが適用された日付が使用されます。
認識できない tzid をコマンドに指定すると、サーバからはデフォルトの GMT (世界標準時) タイムゾーンが返されます。そのコマンドに関して返されるすべてのデータには、GMT が適用された日付が使用されます。
たとえば、次の WCAP コマンドをサーバに送信すると仮定します。
fetchcomponents_by_range.wcap?id=12345&calid=JSmithcal&dtstart=0&dtend=0&tzid=America/New_York&brief=1
このコマンドは、すべての日付に America/New_York で定義されているタイムゾーンが使用された状態で CALID JSmithcal 内のすべてのデータを返すように、サーバに要求します。このタイムゾーンはサーバで認識されているため、データは次のように正常に返されます。
Date:Tue, 17 Aug 1999 23:58:29 GMT
Content-type:text/html; charset=iso-8859-1
Last-modified:Tue, 17 Aug 1999 23:58:29 GMT
function color(s) { if (s) document.bgColor=s }
var timezoneList = new Array()
return new parent.ceDate(y, m-1, d, h, i, s, 0)
function Ec(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){
}function Tc(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){
function TZ(a1,a2,a3,a4,a5,a6) {
function CP(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) {
var status_types=new Array('confirmed', 'tentative', 'cancelled')
timezoneList[0] = new TZ('America/New_York',
new Array('19880403T070000Z','19881030T060000Z','19890402T070000Z','19891029T060000Z',
'19900401T070000Z','19901028T060000Z','19910407T070000Z','19911027T060000Z',
'19920405T070000Z','19921025T060000Z','19930404T070000Z','19931031T060000Z',
'19940403T070000Z','19941030T060000Z','19950402T070000Z','19951029T060000Z',
'19960407T070000Z','19961027T060000Z','19970406T070000Z','19971026T060000Z',
'19980405T070000Z','19981025T060000Z','19990404T070000Z','19991031T060000Z',
'20000402T070000Z','20001029T060000Z','20010401T070000Z','20011028T060000Z',
'20020407T070000Z','20021027T060000Z','20030406T070000Z','20031026T060000Z',
'20040404T070000Z','20041031T060000Z','20050403T070000Z','20051030T060000Z',
'20060402T070000Z','20061029T060000Z','20070401T070000Z','20071028T060000Z',
'20080406T070000Z','20081026T060000Z','20090405T070000Z','20091025T060000Z',
'20100404T070000Z','20101031T060000Z','20110403T070000Z','20111030T060000Z',
'20120401T070000Z','20121028T060000Z','20130407T070000Z','20131027T060000Z',
'20140406T070000Z','20141026T060000Z','20150405T070000Z','20151025T060000Z',
'20160403T070000Z','20161030T060000Z','20170402T070000Z','20171029T060000Z',
'20180401T070000Z','20181028T060000Z','20190407T070000Z','20191027T060000Z',
'20200405T070000Z','20201025T060000Z','20210404T070000Z','20211031T060000Z',
'20220403T070000Z','20221030T060000Z','20230402T070000Z','20231029T060000Z',
'20240407T070000Z','20241027T060000Z','20250406T070000Z','20251026T060000Z',
'20260405T070000Z','20261025T060000Z','20270404T070000Z','20271031T060000Z',
'20280402T070000Z','20281029T060000Z','20290401T070000Z','20291028T060000Z',
'20300407T070000Z','20301027T060000Z','20310406T070000Z','20311026T060000Z',
'20320404T070000Z','20321031T060000Z','20330403T070000Z','20331030T060000Z',
'20340402T070000Z','20341029T060000Z','20350401T070000Z','20351028T060000Z',
'20360406T070000Z','20361026T060000Z','20370405T070000Z','20371025T060000Z'))
event[0]=new Ec('TZ_all_params_event',
'19990817T195829','19990817T195829',
'testing out timezones events',
タイムゾーンの管理
この節では、次の項目について説明します。iPlanet Calendar Server のタイムゾーンリストを変更するには、server-root/cal/bin/data ディレクトリ (たとえば、/opt/SUNWics5/cal/bin/data) 内のファイル timezones.ics を編集する必要があります。このファイルには、91 の iPlanet Calendar Server タイムゾーン形式が定義されています。VTIMEZONE 形式の詳細は、iCalendar の仕様を参照してください。
タイムゾーンは、プロパティ TZID で識別されます。たとえば、iPlanet Calendar Server では、太平洋標準時 (PST/PDT) が TZID "America/Los_Angeles" として認識されます。次のタイムゾーンでは、"America/Los_Angeles" タイムゾーンが定義されています。
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
X-NSCP-TZCROSS:19880403T100000Z;19881030T090000Z;19890402T100000Z;19891029T090000Z;
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;
20380404T100000Z;20381031T090000Z;20390403T100000Z;20391030T090000Z
夏時間が適用されるタイムゾーンは、通常、STANDARD および DAYLIGHT の 2 つの部分があります。
注 "RRULE" プロパティには、STANDARD および DAYLIGHT 規則のパターンを定義します。"TZOFFSETFROM" および "TZOFFSETTO" プロパティには、DAYLIGHT から STANDARD または STANDARD から DAYLIGHT に移行する前後の、GMT からのオフセットを定義します。
"TZNAME" プロパティは、タイムゾーンの簡易表現です。VTIMEZONE の表現の詳細は、iCalendar の仕様を参照してください。
新しいタイムゾーンの追加
X-NSCP-TZCROSS プロパティには、DAYLIGHT から STANDARD および STANDARD から DAYLIGHT に移行する時期を示す、次のような日付リストが定義されています。Calendar Server の Web ブラウザベースのユーザインタフェースでは、
X-NSCP-TZCROSS の日付をもとにして、タイムゾーンの移行時期を表示します。新しいタイムゾーンを iPlanet Calendar Server に追加するには、次の手順に従ってください。
TZID リストに存在しない TZID 名を作成します。
Calendar Web ブラウザのユーザインタフェースをサポートするには、新しいタイムゾーンの X-NSCP-TZCROSS リストを作成する必要があります。
既存のタイムゾーンの変更
既存のタイムゾーンを変更するには、次のようにします。
目的のタイムゾーンデータを表現できるように、TZID を変更します。
Calendar Express クライアントをサポートするには、変更したタイムゾーンの
X-NSCP-TZCROSS リストを作成する必要があります。
iPlanet Calendar Server ユーザインタフェースのタイムゾーンのカスタマイズ
Web ブラウザベースのユーザインタフェースを変更して、カスタマイズした名前のスキーマを使用するには、JavaScript コードを追加して、iPlanet Calendar Server で提供されているタイムゾーン名に新しい名前をマップする必要があります。たとえば、America/Los_Angeles テーブルの代わりに、US Pacific という名前のカスタマイズしたタイムゾーンテーブルを使用する場合は、US Pacific の日付を America/Los_Angeles テーブルにマップするプログラムを作成する必要があります。
特に必要な場合以外は、タイムゾーンを変更しないことをお勧めします。
iPlanet Calendar Server タイムゾーンテーブル
iPlanet Calendar Server のタイムゾーンテーブルは、server-root/cal/bin/data ディレクトリ (たとえば、/opt/SUNWics5/cal/bin/data) 内の timezones.ics という名前のプレーンテキストファイルで定義されています。このファイルには、JDK (Java Development Kit) バージョン 1.1 に準拠した 91 のタイムゾーンが記載されています。次の例は、タイムゾーンテーブルの最初のいくつかのセクションを示しています。
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
X-NSCP-TZCROSS:19880403T120000Z;19881030T110000Z;19890402T120000Z;19891029T110000Z;
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
前へ 目次 索引 DocHome 次へ
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.
Last Updated May 21, 2001