前へ     目次     索引     DocHome     次へ     
iPlanet Calendar Server 管理者ガイド



付録 B   タイムゾーン


ここでは、Calendar Server によるタイムゾーンの処理方法について説明します。また、新しいタイムゾーンテーブルを追加する方法や、 Calendar Server 付属のタイムゾーンテーブルを変更する方法についても説明します。

次の項目について説明します。



タイムゾーン管理の概要

Calendar Server でサポートされているタイムゾーンの表現は、timezones.ics ファイルに定義されています。92 のタイムゾーンが定義されているこのファイルは、server-root/cal/bin/data ディレクトリに入っています (たとえば、 Solaris システムの場合は opt/SUNWics5/cal/bin/data)。

Calendar Server は起動時に timezones.ics ファイルを読み込み、92 のタイムゾーンを生成してメモリの配列に格納します。このため、Calendar Server の実行中は、すべてのタイムゾーンがメモリに保持されます。

WCAP コマンドにタイムゾーン ID (tzid) が含まれている場合は、メモリ配列内のタイムゾーンを参照する必要があります。たとえば、 storeeventsfetchcomponents_by_range などのコマンドに tzid パラメータを指定する場合は、このパラメータ値は 92 のタイムゾーンのリストに定義されている tzid でなければなりません。Calendar Server はこのタイムゾーンにデータを返し、このタイムゾーンを適用した日付をすべてのデータが持つようになります。

デフォルトの場合、認識されない tzid をコマンドに指定すると、サーバは GMT (世界標準時) タイムゾーンを返します。このコマンドに関して返されるすべてのデータには、GMT を適用した日付を持つようになります。

WCAP の詳細については、『iPlanet Calendar Server プログラマーズマニュアル』を参照してください。



Calendar Server タイムゾーンの管理



タイムゾーンの追加方法と変更方法について説明します。

Calendar Server のタイムゾーンリストを変更するには、server-root/cal/bin/data ディレクトリ (Solaris システムの場合は opt/SUNWics5/cal/bin/data) に入っている timezones.ics ファイルを編集します。このファイルには、92 のタイムゾーンの Calendar Server 形式が定義されています。

タイムゾーンは、TZID プロパティによって指定されます。たとえば 太平洋標準時 (PST/PDT) は、TZID America/Los_Angeles として認識されます (下記の例を参照)。通常、夏時間を持つタイムゾーンは、STANDARD (標準) と DAYLIGHT (夏時間) の 2 つの部分で構成されます。

図 B-1    America/Los_Angeles タイムゾーン 



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;
  19940403T100000Z;19941030T090000Z;19950402T100000Z;19951029T090000Z;
  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

RRULE プロパティは、STANDARD と DAYLIGHT の規則のパターンを定義します。TZOFFSETFROM プロパティと TZOFFSETTO プロパティは、DAYLIGHT から STANDARD への移行、また STANDARD から DAYLIGHT への移行の前後における GMT からのオフセットを定義します。TZNAME プロパティは、タイムゾーンの省略表現です。タイムゾーンプロパティの詳細については、RFC 2445、Internet Calendaring and Scheduling Core Object Specification (iCalendar) を参照してください。


新しいタイムゾーンの追加

  1. TZID リストに存在しない TZID 名を作成します。

  2. タイムゾーンの表現を作成します。

  3. Calendar Express ユーザインタフェースをサポートするには、新しいタイムゾーンの X-NSCP-TZCROSS リストを作成する必要があります。Calendar Express ユーザインタフェースは、タイムゾーンの変更をいつ表示するかを、X-NSCP-TZCROSS に定義されている日付を使用して決定します。

    X-NSCP-TZCROSS リストには、DAYLIGHT から STANDARD に、また STANDARD から DAYLIGHT にタイムゾーンが移行するときの日付が定義されています。

    • 奇数の日付は、STANDARD から DAYLIGHT への移行を示します。

    • 偶数の日付は、DAYLIGHT から STANDARD への移行を示します。

  4. 新しいタイムゾーンをメモリに読み込ませるには、Calendar Server をいったん停止して再起動します。


既存のタイムゾーンの変更
  1. 目的のタイムゾーンが表示されるように、TZID を変更します。

  2. Calendar Express クライアントをサポートするには、変更したタイムゾーンの X-NSCP-TZCROSS リストを作成する必要があります。詳細については、上記の Step 3 を参照してください。

  3. 変更したタイムゾーンをメモリに読み込ませるには、Calendar Server をいったん停止して再起動します。


ユーザインタフェースのタイムゾーンのカスタマイズ

カスタマイズしたタイムゾーン名スキーマを使用できるように Calendar Express ユーザインタフェースを変更するには、JavaScript を追加し、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 に準拠した 92 のタイムゾーンが記載されています。

次の例は、タイムゾーンテーブルの最初の数セクションを示しています。

図 B-2    iPlanet Calendar Server タイムゾーンテーブル 



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


前へ     目次     索引     DocHome     次へ     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

最終更新日: 2002 年 1 月 22 日